Einzelnen Beitrag anzeigen

mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#4

AW: Automatische Freigabe von Objekten in C++Builder im Vergleich zu Delphi

  Alt 8. Nov 2014, 11:02
D2009... also dann auch CB2009?... da war manches noch sehr seltsam.

pures C++ funktioniert, und wie früher bei C benötigt die Rückgabe von Zeigern da immer höchste Aufmerksamkeit... gut wenn man kontrolliert selbst dafür sorgt, jeder "Exit" Weg unabhängig ob gewollt oder per Exeption die sich um die Freigabe aller Sachen selbst bewusst kümmert.

Das über mit Interfaces indirekt zu lösen habe ich nie gemacht, habe mich immer für den selbst kontrollierten/programmierten Weg entschieden.

In C++ gehen für sowas aber alternativ auch ein paar Sachen, die in Delphi so nicht gehen...

void MyFunc(void)
{
TMySimpleClass x; // X: AutoCreate und ConstructorCall

x.MyMethod();

} //X: DestructorCall und AutoFree

Bei Delphi kann ich Klassen nur dynamisch mit explizitem "new/create" anlegen...
In C++ kann man wie in Delphi bei Records auch einfache Klassen auf dem lokalem Heap vom Compiler anlegen lassen, welche der Compiler dann auch selbst aufräumt... (Man erkennt ja auch die Art der Erzeugung bei Compiler-Verwaltung an der Nutzung vom "Punkt" anstatt vom "Pfeil" beim Memberzugriff)

DelphiLike "AutoFreigabe in C++Builder" mag schön sein, aber wenn C++Builder dann doch lieber so nah wie möglich am puren C++ bleiben, der C++ Code mit VCL Verwendung ist eh seltsam und unportabel genug. Wer mal etwas mehr C++Builder Source in einem VisualC++ Project weiternutzen wollte, weiß das man da ohne einige freie VCL "Ersatz"-Libs kaum sinnvoll was nutzen kann, weil die PAS RunTime woanders nix nützt.

=> Daher will ich gar nicht wissen, ob&wie die DelphiLike AutoFreigabe funktioniert, außer jemand kann sagen wie es in VC++ und C++Builder einheitlich und damit universell geht?

Geändert von mensch72 ( 8. Nov 2014 um 11:06 Uhr)
  Mit Zitat antworten Zitat