class A { A(); ~A(); void reinitialize() { A::~A(); new(this) A; } }; Легально ли так делать? Я не вижу причин почему нет, но ...
Провтыкав полчаса в текст стандарта, я все еще не могу понять, баг это или нет с точки зрения стандарта, нужна помощь специалистов (@antoshkka?) Пример следующий: https://godb...
кстати, мб кто-нибудь знает, почему в стандартном any нет unchecked cast?
А кто-нибудь знает, почему для operator-> в стандарте написали специфичное рекурсивное поведение, а не сделали просто a->b as-if (*a).b?
Спрошу с другой стороны - в чем смысл делать такое поведение ошибкой? На ошибки в интерфейсах всегда хочется иметь веские причины
почему RVO не может допереть что это return, только с конверсией?