Ponteiros em linguagens de programação como C + + servem como referências para memória alocada dinamicamente na memória do sistema durante a execução do programa. No entanto, essa memória pode ser esquecido durante os eventos do programa , causando um " vazamento de memória ", onde a memória alocada ultrapassa rapidamente a memória do sistema . Devido a isso, você deve gerenciar os ponteiros bem, e sempre excluí-los. O " auto_ptr " tipo de dados ajuda a cuidar do presente para você apagando a memória alocada quando o objeto auto_ptr é excluído. Você pode facilmente implementar sua própria sintaxe auto_ptr para lidar com ponteiros como você vê o ajuste. Coisas que você precisa
C + + Compiler
Mostrar Mais instruções
1
Crie uma classe " auto_ptr " . Nomeie-o " SmartPointer " :
template classe SmartPointer {
}
2
Incluir um tipo de dados ponteiro para a classe : < br > modelo
SmartPointer {
private: T * inner_pointer ;}
3
Crie um construtor para a classe ponteiro inteligente , que atribui uma referência para o ponteiro :
template classe SmartPointer {
público : SmartPointer (T de referência) ;
private: T * inner_pointer ;} ;
template SmartPointer :: Smartpoint (T referência ) { inner_pointer = referência ;}
4 Criar um destrutor para a classe, que irá apagar o conteúdo do ponteiro da memória , bem como o " auto_ptr " tipo:
template classe SmartPointer {
público : SmartPointer (T de referência) ; ~ SmartPointer ();
private: T * inner_pointer ;} ;
template SmartPointer :: Smartpoint (T referência ) { inner_pointer = referência; }
template SmartPointer :: ~ SmartPointer () { apagar inner_pointer ;}