2013-05-26 13 views
8

Czy można bezpiecznie usunąć dereferencję z tymczasowego std :: shared_ptr?Czy bezpieczne jest usunięcie dereferencji z tymczasowego std :: shared_ptr?

Przykład:

std::shared_ptr<std::string> create_shared_string() 
{ 
    return std::shared_ptr<std::string>(new std::string("hello")); 
} 

std::cout << *create_shared_str() << std::endl; 

Moja obawa jest taka, że ​​shared_ptr jest zniszczona, a licznik referencyjna spadnie do zera, gdy tylko dereference jest kompletna, a tym samym powrócił surowy wskaźnik nie jest już bezpieczny.

+0

Dodaj to może być odpowiedź? ;) – monoceres

Odpowiedz

Powiązane problemy