Libreria di memoria C ++ - enable_shared_from_this
Descrizione
Abilita la funzione membro shared_from_this nelle classi derivate.
Dichiarazione
Di seguito è riportata la dichiarazione per std :: enable_shared_from_this.
template <class T> class enable_shared_from_this;
C ++ 11
template <class T> class enable_shared_from_this;
Parametri
T - È una lezione di puntamento.
Valore di ritorno
nessuna
Eccezioni
noexcep - Non genera eccezioni.
Esempio
Nell'esempio seguente viene spiegato su std :: enable_shared_from_this.
#include <iostream>
#include <memory>
struct C : std::enable_shared_from_this<C> { };
int main () {
std::shared_ptr<C> foo, bar;
foo = std::make_shared<C>();
bar = foo->shared_from_this();
if (!foo.owner_before(bar) && !bar.owner_before(foo))
std::cout << "bother pointers shared ownership";
return 0;
}
Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:
bother pointers shared ownership