Общий указатель из статической функцииC++

Программы на C++. Форум разработчиков
Ответить
Гость
 Общий указатель из статической функции

Сообщение Гость »


Я пытаюсь улучшить свой код с помощью интеллектуальных указателей и в настоящее время пытаюсь заменить все старые необработанные указатели в нашей устаревшей кодовой базе на работу интеллектуальными указателями (std::unique_ptr & < code>std::shared_ptr). Теперь у меня есть случай, когда указатель возвращается из статической функции.

Что произойдет, если я изменю это на std::shared_ptr, который будет создан с использованием std::make_shared и возвращен из функции?

Сможет ли ref-count достичь 0, поскольку одна ссылка хранится внутри статической функции, или она останется до выхода из программы?

Предыдущее:

static MyObject* MyClass::createPointer() { вернуть новый MyObject(); } Сейчас:
static std::shared_ptr MyClass::createSharedPointer() { return std::make_shared(); }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»