Tengo una duda con destructores en C++, y es que en todos los tutoriales que he leído, en el destructor se borran solo aquellas variables miembro que son punteros, y no entiendo del todo por que no se borran todas las demás variables. ¿Es porque las variables no punteros no se reservan mediante 'new' y por ello se borran automáticamente?
Ej.
Código:
class A{
private:
int n;
char *c;
public:
A(){
this->n=0;
this->c=new char[20];
}
~A(){
delete[] this->c;
this->c=NULL;
//¿delete this->n? <== ¿Hay que hacer esto?
}
}
Gracias, saludos.
PD. El operador 'delete' es para variables que se reservaron con el operador 'new', y 'delete[]' para las que se reservan mediante 'new[]', ¿esto es cierto SIEMPRE?