LINUX.ORG.RU

История изменений

Исправление X512, (текущая версия) :

Поскольку в современном C++ (начиная с C++26) чтение неинициализированной переменной уже классифицируется как errorneous behaviour, а не undefined behaviour.

Бред какой-то. Почему нельзя было просто ограничить последствия «undefined behavior»? Например чтение неинициализованной переменной это не неопределённое поведение, а неопределённое значение. То есть при первом чтении результат неопределённый, но при втором и последующим уже должен быть тот же самый результат и не должно быть никакого магического поведения.

У неопределённого поведения должны быть строго прописаны границы неопределённости.

Исходная версия X512, :

Поскольку в современном C++ (начиная с C++26) чтение неинициализированной переменной уже классифицируется как errorneous behaviour, а не undefined behaviour.

Бред какой-то. Почему нельзя было просто ограничить последствия «undefined behavior»? Например чтение неинициализованной переменной это не неопределённое поведение, а неопределённое значение. То есть при первом чтении результат неопределённый, но при втором и последующим уже должен быть тот же самый результат и не должно быть никакого магического поведения.