Diskussion:C++/CLI
Unverständlich bleibt mir (als jemand, der schon mal "zum Spaß" mit C++ herumgespielt hat, aber keineswegs die Sprache versteht) hier manches:
- Das Akronym CLR ist nicht erklärt oder zumindest aufgelöst.
- Es wird im gleichen Absatz einmal gesagt, daß nach Destruktion eines Objekts der Speicher von der automatischen Garbage Collection freigegeben wird. Kurz danach heißt es "Im Unterschied zu anderen Sprachen mit automatischer Speicherbereinigung (z.B. C# oder Java) wird hier also erstmals die Freigabe von Speicher und anderen Ressourcen nicht mehr zusammen mit Hilfe der Speicherbereinigung abgewickelt." (Hervorhebung von mir).
Die beiden Aussagen klingen widersprüchlich. --Spauli 13:28, 28. Aug 2004 (CEST)
Ok, ich habe mal versucht, die Sache etwas besser aufzudröseln. Die Betonung liegt jetzt auf der Unterscheidung zwischen einerseits Speicher und andererseits anderen Ressourcen. Schreib mal, ob es jetzt etwas verständlicher geworden ist. Poldi 18:43, 9. Okt 2004 (CEST)
- Ist jetzt viel besser verständlich. Vielleicht kann man im letzten Absatz noch einen Verweis auf <CLR> einbauen, weil dort die Begriffe "managed" und "unmanaged" Code erklärt werden. Spauli 17:58, 10. Okt 2004 (CEST)
Gibt es Quellenangaben zur Bemerkung mit den massiven 20%-25% Performancevorteilen gegenüber C#? Die Begründung scheint mir bzgl. des neuen Kontextes (CLR+MSIL) als nicht ganz stichhaltig..? -- 84.226.57.108 13:22, 5. Feb 2005 (CET)
- Ich finde die Stelle zu 20%-25% Performancevorteil nicht mehr, habe aber folgende Quelle aufgetan: C++/CLI-Performance. Darin ist von 5%-30% die Rede. Was findest du an der Begründung nicht stichhaltig? Poldi 21:25, 8. Mär 2005 (CET)
Vorteile von C++/CLI ggü. ISO-C++?
Irgendwie sind mir beim Lesen die Vorteile von dieser neuen Microsoft-Idee nicht ganz klar.
- 1. Wenn man eh Code umschreiben muss, kann man ihn auch so schreiben, dass er "klassischen" C++-GCs benutzt.
- Es geht aber darum, dass er auf der CLI laufen soll. (Auch zur Interaktion mit in anderen Programmiersprachen geschriebenem Code.) Poldi
21:25, 8. Mär 2005 (CET)
- Wenn ich also unveränderten C++-Code hernehme, läuft dieser also nicht mehr? Welche C++-Features funktionieren denn nicht mehr und warum? --RokerHRO 09:13, 9. Mär 2005 (CET)
- 2. Der Destruktor ~Foo() gibt vom Objekt belegte Ressourcen frei. Was macht dann noch der der Finalisierer !Foo()?
- 3. Was ist der Vorteil von diesen "Objektzeigern" ggü. herkömmlichen C++-Smartpointern?
--RokerHRO 16:39, 8. Mär 2005 (CET)
- Objektzeiger sind wie "normale" Zeiger mit einigen künstlich auferlegten Einschränkungen. Wenn du sie mit Smartpointern vergleichst, dann geht es eigentlich um den Unterschied zwischen Speicherverwaltung mit oder ohne Garbage-Collection (s. dort). Poldi 21:25, 8. Mär 2005 (CET)
- In ISO-C++ sind ja auch Smartpointer realisierbar, deren "Smartness" eben darauf beruht, dass sie die Speicherverwaltung über einen GC abwickeln. --RokerHRO 09:13, 9. Mär 2005 (CET)
- Objektzeiger sind wie "normale" Zeiger mit einigen künstlich auferlegten Einschränkungen. Wenn du sie mit Smartpointern vergleichst, dann geht es eigentlich um den Unterschied zwischen Speicherverwaltung mit oder ohne Garbage-Collection (s. dort). Poldi 21:25, 8. Mär 2005 (CET)