Увидел неожиданное для себя в статье "On detecting improper use of std::enable_shared_from_this":
#include <memory>
struct D;
struct B : std::enable_shared_from_this<D>
{
};
struct D : B
{
};
int main() {
auto p = std::make_shared<D>();
auto q = p->shared_from_this();
}
Другими словами, std::enable_shared_from_this можно использовать и для типов, которые не были еще полностью определены.
Прикольно. Не знаю, где и зачем это может потребоваться. Как и не знаю, вспомню и я это через месяц-другой. Но прикольно.
Комментариев нет:
Отправить комментарий