Вопросы с тегом «language-lawyer»

9
Неуказанное неявное создание объекта

Поскольку P0593 неявное создание объектов для низкоуровневой манипуляции с объектами было принято, объекты теперь можно создавать неявно в C ++ 20. В частности, формулировка, предложенная предложением, позволяет определенным операциям (таким как std::malloc) автоматически создавать и запускать...

9
Это UB, чтобы возобновить сопрограмму функции-члена объекта, время жизни которого закончилось?

Этот вопрос вытекает из этого комментария: объяснение времени жизни лямбда для сопрограмм C ++ 20 относительно этого примера: auto foo() -> folly::coro::Task<int> { auto task = []() -> folly::coro::Task<int> { co_return 1; }(); return task; } Таким образом, вопрос заключается в...

9
Создание стандартных исключений с аргументом нулевого указателя и невозможными постусловиями

Рассмотрим следующую программу: #include<stdexcept> #include<iostream> int main() { try { throw std::range_error(nullptr); } catch(const std::range_error&) { std::cout << "Caught!\n"; } } GCC и Clang с помощью libstdc ++ вызывают std::terminateи отменяют программу с сообщением...