delete
-
was macht mein delete jetzt eigentlich genau?
setzt es einen bisher existenten zeiger auf null?
dieser existiert aber dann noch?also wenn ich jetzt
vector<klasse*> v; v.push_back(new klasse); delete v[0];dann dürfte v[0] noch existieren?
und müsste noch nachträglich mit erase gelöscht werden?was braucht man um smartpointer oder boost einzufügen??
nur andere header oder muss ich da noch was downloaden?
thx an asc für seine immerwährenden KONSTRUKTIVEN vorschläge -.-
-
Das delete gibt dir den Speicher frei. Verändert aber in keinster weise den vector. Sprich der Zeiger ist immernoch genau so da im vector. Lediglich der Speicher wurde freigegeben und der Zeiger ist ungültig. Also am besten gleich den Eintrag aus dem vector entfernen. (ja mit erase).
Wenn du da jetzt einen smart Pointer drin hast, musst du lediglich das Element erasen und der Speicher wird automatisch freigegeben.
Für boost solltest du dir (für Windows) den Installer holen oder die selber kompilieren.
Smart Pointer sind dort zwar lediglich als Header vorhanden, aber es lohnt sich schon alles zu laden, da sonst einiges fehlt. (und du wirst es auch später noch brauchen können).
-
ok was genau brauch ich jetz damit ich smartpointer verwenden kann ?
und wie sag ich das meinem compiler wo das liegt??
wie verwende ich dann smartpointer?
-
RTFM
-
rtfm?
bitte um erklärung
-
-
gasst schrieb:
bitte um erklärung
Read the f ääh loveing Manual
-
gasst schrieb:
rtfm?
bitte um erklärunghttp://www.boost.org/doc/libs/1_37_0/libs/smart_ptr/smart_ptr.htm
-
kann sein dass ich mich blöd anstelle ...
aber welche ANLEITUNG ???
ich hab hier im foreum dieses link gefunden
http://www.c-plusplus.net/forum/viewtopic-var-t-is-134971.html
der wunderschön erklärt wie die dinger funktionieren aber nicht woher ich es bekomme...tut mir leid ich habe keine ahnung ...
ich denke nicht dass es genügt
#include<boost>zu schreiben
-
-
mein gott hat da einer einen schlechten tag -.-
statt sowas wäre ein direktlink oder so mal gut...
eine google suche nach samart pointer hat mich leider nicht weitergebracht sonst würde ich nicht so blöd fragen ...
-
Und einmal nach boost gesucht? Da liefert Google gaaaaaaaaaaanz bestimmt nicht deren Seite. Und da steht das bestimmt auch nicht drauf. Wieso sollten wir deine Drecksarbeit machen? Und dann auch noch wenn du dafür zu faul bist?
-
So:
http://www.boost.org/doc/libs/1_37_0/more/getting_started/index.htmlUnd jetzt ist schluss mit Fragen. Jetzt wird diese Seite zuerst einmal gelesen!
-
na endlich ^^
ich wusste nicht dass smart-pointer direkt mit zu boost gehören
DANKE
-
mein gott hat da einer ei schrieb:
eine google suche nach samart pointer hat mich leider nicht weitergebracht sonst würde ich nicht so blöd fragen ...
Ich empfehle dir eine Brille zu kaufen. Google Suche ergabe:
1. Englische Wikipedia -> Mit direktem Link zu Boost
2. Artikel aus diesem Forum -> Mit direktem Link zu Boost
3. Artikel / Tutorial -> Mit Link zu Boost und man hätte dort auch die Lib finden können.
4. PDF -> Mit der Erklärung, wie man sich sowas selber baut.
5. Direkter Link zur Boost Bibliothek selbstZudem hat Bulli den Link schon längsten gepostet:
Bulli schrieb:
gasst schrieb:
rtfm?
bitte um erklärunghttp://www.boost.org/doc/libs/1_37_0/libs/smart_ptr/smart_ptr.htm
Grüssli
-
Ignoriert gasst einfach. Er hat schon in einem anderen Thread bewiesen, das er in keinster Weise "Zeit" hat. Wer nicht einen Hauch von Eigeninitiative zeigt, verdient keine Antwort.
Oder um mich selbst aus dem anderen Thread zu rezitieren:
"Ich würde es garnicht erst beantworten. Er hat ja schon keine Zeit zum Lesen, dann braucht man es auch nicht vorzukauen"