Pekere i programmeringsspråk som C + + fungere som referanser til dynamisk allokert minne i systemminnet under utføring av programmet . Men dette kan minnet bli glemt under arrangementer i programmet , forårsaker en " minnelekkasje " der tildelt minne raskt overgår systemminne. På grunn av dette , må du administrere dine pekere godt , og alltid slette dem . Den " auto_ptr " datatype hjelper ta vare på dette for deg ved å slette den tildelte minnet når auto_ptr objektet er slettet. Du kan enkelt implementere din egen auto_ptr syntaks for å håndtere pekere som du ser passer . Du trenger
C + + Compiler
Vis flere instruksjoner
en
Lag en " auto_ptr " class . Name it " SmartPointer " : en
mal klasse SmartPointer {
}
2
Inkluder en peker datatype inn i klassen :
mal klasse SmartPointer {
private: T * inner_pointer ;}
3
Lag en konstruktør for Smart Pointer klassen, som tildeler en referanse til pekeren : en
mal klasse SmartPointer {
publikum: SmartPointer (T referanse) ;
private: T * inner_pointer ;} ;
mal SmartPointer :: SmartPoint (T referanse) { inner_pointer = referanse; }
4 Opprett en ødelegger for klassen , som vil slette pekeren innholdet fra minnet , mye som " auto_ptr " type : en
mal klasse SmartPointer {
publikum: SmartPointer (T referanse) ; ~ SmartPointer ();
privat : T * inner_pointer ;} ;
mal SmartPointer :: SmartPoint (T referanse) { inner_pointer = referanse; }
mal SmartPointer :: ~ SmartPointer ( ) {slett inner_pointer ;}