Все программы были UB до C++20? ⇐ C++
-
Гость
Все программы были UB до C++20?
Вчера я услышал это в выступлении Дэвида Стоуна
До C++20 было невозможно реализовать std::vector, все векторные реализации, если они написаны на C++, имели неопределенное поведение.
Но не особо на это обратил внимание.
До сегодняшнего дня, когда я посмотрел Квантовые интерпретации объектной модели C++, который начинается с его слов
До C++20 все программы C++ были неопределенными. Начиная с C++20, они, вероятно, все еще не определены, но, по крайней мере, не по жизненным причинам.
О чем он говорит?
Я знаю, что есть вещи, которые невозможно реализовать, просто используя то, что доступно в языке (думаю, std::mutex определенно не сможет?); и я знаю, что это, очевидно, проблема, которая существует во всех (?) языках программирования, например. Для seq Haskell требуется поддержка компилятора.
Но кто-нибудь действительно говорит мне, что я не могу реализовать, скажем, std::monostate?
Я считаю, что есть вещи, которые можно и невозможно реализовать, просто используя языковые инструменты. Что делает std::vector принадлежащим последней категории?
Вчера я услышал это в выступлении Дэвида Стоуна
До C++20 было невозможно реализовать std::vector, все векторные реализации, если они написаны на C++, имели неопределенное поведение.
Но не особо на это обратил внимание.
До сегодняшнего дня, когда я посмотрел Квантовые интерпретации объектной модели C++, который начинается с его слов
До C++20 все программы C++ были неопределенными. Начиная с C++20, они, вероятно, все еще не определены, но, по крайней мере, не по жизненным причинам.
О чем он говорит?
Я знаю, что есть вещи, которые невозможно реализовать, просто используя то, что доступно в языке (думаю, std::mutex определенно не сможет?); и я знаю, что это, очевидно, проблема, которая существует во всех (?) языках программирования, например. Для seq Haskell требуется поддержка компилятора.
Но кто-нибудь действительно говорит мне, что я не могу реализовать, скажем, std::monostate?
Я считаю, что есть вещи, которые можно и невозможно реализовать, просто используя языковые инструменты. Что делает std::vector принадлежащим последней категории?
Мобильная версия