Pekare i programspråk som C + + fungera som referenser till dynamiskt allokerat minne i systemminnet vid programkörning . Dock kan detta minne glömmas under händelserna i programmet , vilket orsakar en " minnesläcka " där allokerat minne snabbt overtakes systemminne . På grund av detta , måste du hantera dina pekare väl , och alltid ta bort dem . Den " auto_ptr " datatypen hjälper att ta hand om detta för dig genom att ta bort det tilldelade minnet när auto_ptr objektet tas bort . Du kan enkelt genomföra dina egna auto_ptr syntax för att hantera pekare som du tycker passar . Saker du behöver
C + + Compiler
Visa fler instruktioner
1
Skapa en " auto_ptr " klass . Namnge den " SmartPointer " :
mall class SmartPointer {
}
2
Inkludera en pekare datatyp i klassen :
mall class SmartPointer {
privat : T * inner_pointer ;} Addera 3
Skapa en konstruktör för Smart Pointer klassen , som tilldelar en hänvisning till pekaren :
mall class SmartPointer {
allmänheten : SmartPointer ( T referens ) ,
privat : T * inner_pointer ;} ;
mall SmartPointer :: SmartPoint ( T referens ) { inner_pointer = referens ; }
4 Skapa en destructor för klassen , vilket kommer att ta bort pekaren innehåll från minnet , ungefär som " auto_ptr " typ :
mall class SmartPointer {
allmänheten : SmartPointer ( T referens ) , ~ SmartPointer ( ) ;
privat : T * inner_pointer ;} ;
mall SmartPointer :: SmartPoint ( T referens ) { inner_pointer = referens ; }
mall SmartPointer :: ~ SmartPointer ( ) { delete inner_pointer ;} Addera