Ho una classe che ha un metodo setter che accetta un argomento unique_ptr. Quel unique_ptr viene salvato come membro della classe.Come distruggere prematuramente un puntatore intelligente
class TestClass {
std::unique_ptr<Tester> sp;
void setTester_Way1(std::unique_ptr<Tester> te) {
auto deleter=std::move(sp);
sp=std::move(te);
}
void setTester_Way2(std::unique_ptr<Tester> te) {
sp=std::move(te);
}
};
Quale è il modo corretto di impostare il puntatore intelligente? Way2 perde il puntatore originale di sp?
C'è solo un modo per scoprire un 'unique_ptr': la funzione membro' release() ' – emlai
Penso che questa risposta spieghi tutto http://stackoverflow.com/questions/8114276/how-do-i-pass-a -unique-ptr-argument-to-a-constructor-or-a-function – vim
@zenith è una sfida? – Yakk