Hallo, in dem Buch C++ in 21 T.... heißt es, daß ein Vorteil von Zeigern (gegenüber von Lokalen Variablen) ist, daß sie auf dem Heap erzeugt werden, und somit auch nach Rückkehr der Funktion noch verfügbar sind; deshalb muss man ja auch den Speicher mit delete .... wieder freigeben. Ich möchte das Ganze jetzt mal testen; wie mach ich das ganz denn ganz einfach ? Ich komm damit nicht zurecht !
Ich brauche hier bitte etwas Hilfe und ein paar Codezeilen wenns geht !
Soviel ich weiß bleibt ein Pointer nach dem verlassen einer Funktion auch nicht erhalten (es sei denn du übergibst den Pointer als Parameter oder du gibst ihn mit return zurück). Einzig und allein der allokierte Speicher bleibt bestehen, das heißt windows blokiert den Speicher bis du es neu startest. Deswegen sollte man pointer die man mit new erstellt hat auch mit delete wieder freigeben. -- Gruß firefoxxi
alles was du mit new allokierst wird auf dem heap gepackt und existiert so lange bis du es mit delete wieder freigibst... es spielt dabei keine rolle ob du einen pointer oder was auch immer allokierst... das was du meinst ist das dir new einen zeiger auf den allokierten speicherbereich zurückliefert....
alle andere variablen, objekte sind nur so lange auf dem stack existent so lange der block in dem sie sich befinden nicht beendet wird.... -- ...fleißig wie zwei Weißbrote