Ukazovatele v programovacích jazykoch , ako je C + + slúžia ako odkazy na dynamicky alokovanej pamäte v systémovej pamäti počas vykonávania programu . Avšak , táto pamäť môže byť zabudnuté počas podujatí v rámci programu , čo je " pretečeniu pamäte " , kde pridelenej pamäte rýchlo dobieha systémovej pamäte . Z tohto dôvodu je nutné spravovať vaše odkazy dobre , a vždy odstráňte ich . " Auto_ptr " typ dát pomáha postarať sa o to pre vás odstránením pridelenej pamäte , keď je auto_ptr objekt odstránený . Môžete ľahko implementovať vlastné auto_ptr syntax zvládnuť ukazovatele , ako uznáte za vhodné . Veci , ktoré budete potrebovať
C + + Compiler
Zobraziť ďalšie inštrukcie Cestuj 1
Vytvoriť " auto_ptr " triedu . Pomenujte ju " SmartPointer " :
šablóna trieda SmartPointer {
}
2
Zahrnúť dátového typu pointer do triedy :
template trieda SmartPointer {
súkromia : T * inner_pointer ; }
3
Vytvoriť konštruktor pre triedu Inteligentný ukazovateľ , ktorý priraďuje odkaz na ukazovatele :
šablóna trieda SmartPointer {
verejnosť : SmartPointer ( T referencie ) ;
súkromia : T * inner_pointer ; } ;
šablóna SmartPointer :: SmartPoint ( T referencie) { inner_pointer = referencie ; }
4 Vytvoriť destruktor pre triedu , ktorá bude mazať obsah ukazovateľ je z pamäte , podobne ako " auto_ptr " typu :
šablóna triedy SmartPointer {
verejnosť : SmartPointer ( T referencie) ; ~ SmartPointer ( ) ;
private : T * inner_pointer ; } ;
šablóna SmartPointer :: SmartPoint ( T referencie) { inner_pointer = referencie ; }
šablóna SmartPointer :: ~ SmartPointer ( ) { mazať inner_pointer ; }