Come creare auto_ptr Sintassi

January 31

Puntatori in linguaggi di programmazione come C ++ servono come riferimenti a allocati dinamicamente la memoria nella memoria di sistema durante l'esecuzione del programma. Tuttavia, questa memoria può essere dimenticato durante eventi in programma, causando una "perdita di memoria" dove la memoria allocata supera rapidamente la memoria di sistema. A causa di questo, è necessario gestire i puntatori bene, e sempre cancellarli. Il tipo di dati "auto_ptr" aiuta a prendersi cura di questo per voi cancellando la memoria allocata quando l'oggetto auto_ptr viene eliminato. Si può facilmente implementare il proprio sintassi auto_ptr per gestire i puntatori, come si vede in forma.

istruzione

1 Creare una classe "auto_ptr". Il nome "smart pointer":

template <class T>
class smart pointer {

}

2 Includere un tipo di dati puntatore nella classe:

template <class T>
class smart pointer {

privato:
T * inner_pointer;
}

3 Creare un costruttore per la classe puntatore intelligente, che assegna un riferimento al puntatore:

template <class T>
class smart pointer {

pubblico:
Smart pointer (T di riferimento);

privato:
T * inner_pointer;
};

template <class T>
Smart pointer :: Smartpoint (T riferimento) {
inner_pointer = riferimento;
}

4 Creare un distruttore per la classe, che cancellerà il contenuto del puntatore a memoria, molto simile al tipo "auto_ptr":

template <class T>
class smart pointer {

pubblico:
Smart pointer (T di riferimento);
~ Smart pointer ();

privato:
T * inner_pointer;
};

template <class T>
Smart pointer :: Smartpoint (T riferimento) {
inner_pointer = riferimento;
}

template <class T>
Smart pointer :: ~ smart pointer () {
eliminare inner_pointer;
}