Вопросы к Поиску с Алисой

Примеры ответов Поиска с Алисой
Главная / Наука и образование / Какие существуют антипаттерны при использовании std::enable|_shared|_from|_this?
Вопрос для Поиска с Алисой
14 августа

Какие существуют антипаттерны при использовании std::enable|_shared|_from|_this?

Алиса
На основе источников, возможны неточности

Некоторые антипаттерны при использовании std::enablesharedfrom_this:

  • Вызов sharedfromthis для объекта, который не управляется sharedptr. www.nextptr.com stackoverflow.com В такой ситуации может возникнуть исключение std::badweakptr, так как встроенный weakthis не инициализирован. www.nextptr.com
  • Вызов sharedfromthis в конструкторе. www.nextptr.com В этом случае также может появиться исключение std::badweakptr, так как встроенный weak_this ещё не инициализирован. www.nextptr.com
  • Вызов sharedfromthis, когда класс не публично наследует std::enablesharedfromthis. www.nextptr.com Частное (или защищённое) наследование предотвращает инициализацию weakthis, и это может пройти незамеченным без предупреждений компилятора. www.nextptr.com
  • Возникновение антипаттерна «Зомби». habr.com В результате вызова run_once() может появиться циклическая ссылка, и «Зомби» продолжит работу даже после выхода из области видимости. habr.com Для множества объектов, созданных в ходе работы программы, не будут вызваны деструкторы. habr.com
Примеры полезных ответов Поиска с Алисой на вопросы из разных сфер. Вопросы сгенерированы нейросетью YandexGPT для актуальных тем, которые определяются на базе обобщённых запросов к Поиску с Алисой.
Задать новый вопрос
Задайте вопрос...
…и сразу получите ответ в Поиске с Алисой
Войдите, чтобы поставить лайк
С Яндекс ID это займёт пару секунд
Войти
Tue Aug 26 2025 09:00:20 GMT+0300 (Moscow Standard Time)