Re: Ueberladenes new/delete. Wie Konstruktor/Destruktor unterdruecken?

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Hallo Andreas!

Gibt es also einen Kniff, wie ich den Konstruktor/Destruktor umgehen
kann?

Nein, keine Chance. Das Problem ist, das du zwar festlegen kannst wie new den Speicher allokiert aber nicht was es grundsätzlich tut.


new ruft immer den Konstruktor auf, das ist einfach so.


Rabäh :o( . Da habe ich geglaubt einen einfachen und schnellen Weg zu
finden und was ist ...

Ganz verstehe ich Dein Problem nicht.
Du hast eine Klasse mit überschriebenem new und delete. Kein Problem!
Nun hast Du in der Klasse einen weiteren Verweis auf einen Datenbereich, der auch optimiert werden soll...
Auch kein Problem: Im Konstruktor Deiner äußeren Klasse schaust Du in einer globalen Liste nach ob freier Speicher verfügbar ist, wenn nicht allokierst Du neuen. Im Destruktor trägst Du den allokierten Speicher wieder in die Liste ein. Das ganze funktioniert wieder wie ein Poolalloc den auch CList und Konsorten verwenden.
Das ganze kann man sogar relativ einfach für die STL verwenden und einen eigenen Poolallokator schreiben.


Soweit mein Senf, insofern ich das Problem verstanden habe.
--
Martin Richter [MVP] WWJD
"In C we had to code our own bugs. In C++ we can inherit them."
FAQ : http://www.mpdvc.de
Samples: http://www.codeguru.com http://www.codeproject.com
.



Relevant Pages

  • Re: Einfache Frage zur Initialisierung
    ... Speicher auch gleichzeitig eine Initialiserung vorgenommen wird. ... dann erfolgt die Initialisierung durch den Konstruktor der Klasse ... bzw. durch den Default-Konstruktor der Klasse bzw. der Oberklasse. ... dann werden die Elemente so initialisiert, ...
    (de.comp.lang.java)
  • =?ISO-8859-1?Q?Re:_Klasse_=FCberladen?=
    ... Leider gebietet die Logik, daß ein Konstruktor wissen muß, die Instanz ... welcher Klasse er da genau erzeugen soll. ... einen "Namensraum" bilden, in dem jede der Klassen einen eindeutigen ...
    (de.comp.lang.delphi.misc)
  • Re: =?ISO-8859-15?Q?Anf=E4nger=3A?= Dialog aus ui-Datei ableiten
    ... > du hast eine Klasse A, dann kannst du eine Klasse B schreiben, die ... Ich habe eine MyDialog die sich von MyDialog_base ableitet. ... was in der MyDialog_base drinsteht in den Konstruktor von MyDialog ... Next by Date: ...
    (de.comp.os.unix.programming)
  • Re: Sind Klassen in der Form das richtige?
    ... >Beim Konstruktor - oder verstehe ich die Frage falsch? ... >> Ein Public Class LogEntry geht ja wohl nicht. ... >> Gibt es eine Prozedur o.ä. innerhalb der Klasse, ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Laufzeitfehler OutOfRangeException
    ... "private ArrayList alObjects;" ... Im Konstruktur dieser Klasse steht zum Instanzieren dieser Liste nun ... das Programm und der Konstruktor der Klasse wird aufgerufen, ... Witz ist, kommentiere ich meine Liste aus, so wird genau dieser Fehler bei ...
    (microsoft.public.de.german.entwickler.dotnet.csharp)