Einzelnen Beitrag anzeigen

Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#38

AW: C++ Builder oder Visual C++

  Alt 5. Nov 2015, 07:37
Copy/Move-Semantics-Verstehe ich nicht?
Zu komplex, um das jetzt mit eigenen Worten zu erklären, aber C++ allocated Objekte auf dem Stack und nicht (wie z.b. Delphi) auf dem Heap. Hier hast du jetzt die Möglichkeit Objekte zu "moven" statt zu kopieren. Das hat unter anderem Performance-Vorzüge und ist auch oft semantisch sinnvoll (unique_ptr, etc).
Wenn es dich sehr stark interessiert, dann findest du hier eine ausführliche Erklärung im Rahmen des Copy-Swap-Idioms:
http://stackoverflow.com/a/3279550
Danke, das reicht. Bei mir war nicht mehr auf dem Schirm das es ja auch Sprachen gibt die auch Instanzen von Klassen ohne impliziete Verwendung von new/create/... anlegen können.


Templates - Für was was man mit anderen Sprachfeatures nicht genauso gut lösen kann.
Das Template System ist eine komplette funktionale Programmiersprache, die in C++ eingebettet ist. Normale Generics können hier einpacken und die Delphi Generics erst recht
Sehr mächtig sind auch Template-Spezialisierungen. Grob gesagt hat man ein Grund-Template mit einer bestimmten Signatur und darüber definiert man beliebig viele spezialisierte Templates, die z.b. eine bestimmte Klasse / einen bestimmten Datentyp matchen. Die STL hat beispielsweise eine Art Array Implementation namens std::vector, die man über
Code:
std::vector<int>
deklarieren kann. Wie ein normales Array in Delphi reserviert die Klasse intern dann für jedes Element sizeof(int) an Speicher. Verwendet man aber einen
Code:
std::vector<bool>
nimmt der Compiler das für bool spezialisierte Template und arbeitet intern mit Bitfields, weshalb 8 Werte nicht mehr 8, sondern nur noch 1 Byte belegen.[/QUOTE]
Nochmals Danke. Genau diese Beispiele helfen es klar zu machen wo genau der Vorteil liegt.


Und mal speziell im Kontext dieser Masterarbeit: Braucht deine Tochter wirklich eine komplexe GUI? Ein Fenster mit zwei Buttons, das ein Bild anzeigt bekommt man doch selbst mit purer WinAPI in 10 Minuten zusammengebastelt
Genau das sollte man hinterfragen. Blos weil (evtl.) eine C-Library helfen könnte heißt es noch nicht das die ganze Lösung in C/C++ realisiert werden müsste.
Hier sind die Vorgaben etwas zu wenig
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat