Lápices en lenguajes de programación como C + + servir como referencias a la memoria asignada dinámicamente en la memoria del sistema durante la ejecución del programa. Sin embargo , esta memoria puede ser olvidado durante los eventos del programa , causando una " pérdida de memoria ", donde la memoria asignada alcanza rápidamente la memoria del sistema . Debido a esto , debe administrar los punteros bien, y siempre eliminarlos. El tipo de datos " auto_ptr " ayuda a cuidar de esto para usted mediante la supresión de la memoria asignada cuando se elimina el objeto auto_ptr . Puede implementar fácilmente su propia sintaxis auto_ptr para manejar punteros como mejor le parezca . Cosas que necesitará 
 C + + Compiler 
 Ver Más instrucciones 
 1 
 crear una clase " auto_ptr " . El nombre de " SmartPointer ": 
 
 plantilla  clase SmartPointer { 
  } 
 2 
 Incluya un tipo de datos de puntero en la clase : 
 
 plantilla  clase SmartPointer { 
  privada: T * inner_pointer ;} 
 3 
 Crear un constructor para la clase de puntero inteligente , que asigna una referencia al puntero : 
 
 plantilla  clase SmartPointer {public  
 : SmartPointer (T de referencia) ; 
 
 privada: T * inner_pointer ;} ; 
 
 plantilla  SmartPointer :: SmartPoint ( referencia T ) = { inner_pointer referencia; } 
 4  Crear un destructor de la clase , lo que eliminará el contenido del puntero de la memoria , al igual que el tipo " auto_ptr ": 
 
 plantilla  clase SmartPointer {public  
 : SmartPointer ( referencia T); ~ SmartPointer (); 
 
 privada: T * inner_pointer ;} ; 
 
 plantilla  SmartPointer :: SmartPoint (T referencia) { inner_pointer = referencia; } 
  plantilla  SmartPointer :: ~ SmartPointer () { delete inner_pointer ;}