Все программы были UB до C++20?C++

Программы на C++. Форум разработчиков
Гость
Все программы были UB до C++20?

Сообщение Гость »


Вчера я услышал это в выступлении Дэвида Стоуна

До C++20 было невозможно реализовать std::vector, все векторные реализации, если они написаны на C++, имели неопределенное поведение.

Но не особо на это обратил внимание.

До сегодняшнего дня, когда я посмотрел Квантовые интерпретации объектной модели C++, который начинается с его слов

До C++20 все программы C++ были неопределенными. Начиная с C++20, они, вероятно, все еще не определены, но, по крайней мере, не по жизненным причинам.

О чем он говорит?

Я знаю, что есть вещи, которые невозможно реализовать, просто используя то, что доступно в языке (думаю, std::mutex определенно не сможет?); и я знаю, что это, очевидно, проблема, которая существует во всех (?) языках программирования, например. Для seq Haskell требуется поддержка компилятора.

Но кто-нибудь действительно говорит мне, что я не могу реализовать, скажем, std::monostate?

Я считаю, что есть вещи, которые можно и невозможно реализовать, просто используя языковые инструменты. Что делает std::vector принадлежащим последней категории?

Вернуться в «C++»