Pointers in Programmiersprachen wie C + + dienen als Bezugnahmen auf die dynamisch zugewiesenen Speicher im Systemspeicher während der Programmausführung . Allerdings kann dieser Speicher während der Veranstaltungen im Programm vergessen werden , was zu einem " Memory Leak ", wo zugewiesenen Speicher schnell überholt Systemspeicher. Aus diesem Grund müssen Sie Ihre Zeiger gut zu verwalten und immer zu löschen. Die " auto_ptr " Datentyp hilft kümmern diese für Sie durch das Löschen der zugewiesenen Speicher , wenn die auto_ptr Objekt gelöscht wird . Sie können ganz einfach die Umsetzung Ihrer eigenen auto_ptr Syntax Zeiger behandeln, wie Sie sehen, passen . Was Sie brauchen
C + + Compiler
anzeigen Weitere Anweisungen
1
Neues " auto_ptr " Klasse. Nennen Sie es " SmartPointer ":
template Klasse SmartPointer { }
2
einen Zeiger Datentyp in die Klasse :
template Klasse SmartPointer {
private: T * inner_pointer ;}
3
erstellen Sie einen Konstruktor für die Smart Pointer -Klasse, die zugewiesen ein Verweis auf den Zeiger :
template Klasse SmartPointer {
public: SmartPointer (T Referenz) ;
private: T * inner_pointer ; };
template SmartPointer :: SmartPoint (T Referenz) { inner_pointer = Referenz; }
4 erstellen Destruktor für die Klasse , die die Zeiger der Inhalt aus dem Speicher löschen , ähnlich wie die " auto_ptr " Typ:
template Klasse SmartPointer {
public: SmartPointer (T Referenz) ; ~ SmartPointer ();
private: T * inner_pointer ; };
template SmartPointer :: SmartPoint (T Referenz) { inner_pointer = Referenz; }
template SmartPointer :: ~ SmartPointer () { delete inner_pointer ;}