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.
Dodaj to może być odpowiedź? ;) – monoceres