Все программы были 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 принадлежащим последней категории?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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