Здравствуйте, -MyXa-, Вы писали:
MX>Здравствуйте, _hum_, Вы писали:
__>>Здравствуйте, -MyXa-, Вы писали:
MX>>>Здравствуйте, _hum_, Вы писали:
__>>>>кстати, оказывается, std::experimental::observer_ptr
MX>>>На сколько мне известно, он ничего не делает.
__>>да, так и написано:
__>>__>>It is intended as a near drop-in replacement for raw pointer types, with the advantage that, as a vocabulary type, it indicates its intended use without need for detailed analysis by code readers.
MX>Вот именно, что как reader, я сразу напрягусь и пойду искать — каким это таким незаконным способом ты этот указатель получил, и почему это observer_ptr гуляет по лесу один так далеко от того места, где его получили.
при чем тут незаконным? вам не надо ничего искать, вам сразу говорят, что он никем не владеет, и просто является средством доступа к объекту (еще бы добавили к нему возможность узнавать, существует ли объект, который ему дали при создании, или нет, и было бы вообще здорово).
MX>>> Это просто удобный способ отметить где у тебя, скорее всего, ошибка в программе.
__>>?
MX>Раньше у нас была куча легаси и голые указатели, теперь у нас везде observer_ptr, но программа падает ровно в тех же местах.
это только означает, что нет статистической связи между "ошибка в вашей программе" и "использование observer_ptr"