KIF405:C/Cpp Questions and Answers

Aus KIF
Version vom 10. November 2012, 19:55 Uhr von Kamikaze (Diskussion | Beiträge) (Offene Fragen sind geklärt)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

C/C++ Questions and Answers

Teilnehmer

Ich habe keine Liste geführt, ich (Kami) würde sagen wir waren ca. 10 Leute da.

Verlauf

Am Anfang habe ich mal versucht meine eigene Reise zur C++ Kompetenz zu skizzieren, Kern des ganzen war der Einsatz von const, was beim Aufruf von Funktionen im Stack passiert, Pointer und Referenzen. Es kamen eine ganze Menge interessanter Fragen von den Teilnehmern und glücklicherweise konnten einige andere Teilnehmer Fragen beantworten zu denen ich nichts sagen konnte.

Nachbereitung

Am Schluss blieben einige Dinge zu klären, das wurde inzwischen experimentell ermittelt:

 new Foo;

Gibt den Speicher wieder frei, wenn der Konstruktor von Foo eine beliebige Exception wirft.

 new Foo[1024];

Gibt den kompletten Speicher wieder frei, wenn ein Konstruktor von Foo eine Exception wirft. Von zuvor erfolgreich im Array initialisierten Objekten, wird der Destruktor aufgerufen.

Beliebige Exceptions können so gefangen werden:

 try {
     <try code>
 } catch (...) {
     <catch code>
     throw; // Wirft die Exception weiter
 }

Die Syntax entspricht der von Funktionen mit variabler Parameterzahl.

Verweise

Bjarne Stroustrup's FAQs:

Fazit

War ganz angenehm, auch ich (Kami) habe einiges beim AK gelernt. Gerne wieder.