none
Newbie! Variablen bzw. Ressourcen freigeben. RRS feed

  • Frage

  • Hallo ich steige grade in C++ ein.

    Eigentlich habe ich bisher mit C# programmiert, möchte ab sofort noch C++ in mein Reportoire aufnehmen.

    Jetzt weiß ich dass es keinen Garbage Collector in unmanaged C++ gibt.

    Meine Frage daher:
    Wann werden Ressourcen wie z.B. Variablen nach zuweisung am besten wieder freigegeben?
    Muss ich mich um jede einzelne Variable kümmern, die einmal zugewiesen habe?

    Wenn ich zum Beispiel in einer For-Schleife die Inkrementvariable festlege, muss ich diese dann auch wieder freigeben?

    Muss ich Klassendestruktoren immer selbstständig aufrufen?

    Ist schon etwas anders mit C++. Die Pointer werden auch noch lustig, auch wenn ich noch keinen Anwendungsfall dafür weiß.


    Gruß

    Peter

    Wer grob fahrlässige Rechtschreibfehler findet, darf diese behalten ;0)

    Freitag, 17. August 2012 07:23

Antworten

  • Hallo Peter,

    Du mußt dich um die Variablen kümmern die Du dynamisch mit new erzeugst. Variablen/Objekte die Du mit new erzeugst solltest Du auch wieder mit delete deinitialisieren.

    Bei der Inkrementvariable musst Du eigentlich nichts beachten. Wenn die Inkrementvariable im Schleifenkopf deklariert und auch definiert wird ist sie nur für die Schleife gültig (Scope liegt innerhalb der gescheiften Klammern).  Wenn Du die Inkrementvariable ausserhalb des Schleifenkopfs deklarierst ist die Variable auch nach der Schleife gültig.

    Für jede Klasse wird ein Standard Destruktor angelegt. Dieser wird automatisch aufgerufen wenn das Objekt zerstört wird.

    Gruß

    Viktor

    • Als Antwort markiert Peter Sypek Freitag, 17. August 2012 10:15
    Freitag, 17. August 2012 07:51