Общий указатель из статической функции ⇐ 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(); }
Я пытаюсь улучшить свой код с помощью интеллектуальных указателей и в настоящее время пытаюсь заменить все старые необработанные указатели в нашей устаревшей кодовой базе на работу интеллектуальными указателями (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(); }
Мобильная версия