История изменений
Исправление X512, (текущая версия) :
Поскольку в современном C++ (начиная с C++26) чтение неинициализированной переменной уже классифицируется как errorneous behaviour, а не undefined behaviour.
Бред какой-то. Почему нельзя было просто ограничить последствия «undefined behavior»? Например чтение неинициализованной переменной это не неопределённое поведение, а неопределённое значение. То есть при первом чтении результат неопределённый, но при втором и последующим уже должен быть тот же самый результат и не должно быть никакого магического поведения.
У неопределённого поведения должны быть строго прописаны границы неопределённости.
Исходная версия X512, :
Поскольку в современном C++ (начиная с C++26) чтение неинициализированной переменной уже классифицируется как errorneous behaviour, а не undefined behaviour.
Бред какой-то. Почему нельзя было просто ограничить последствия «undefined behavior»? Например чтение неинициализованной переменной это не неопределённое поведение, а неопределённое значение. То есть при первом чтении результат неопределённый, но при втором и последующим уже должен быть тот же самый результат и не должно быть никакого магического поведения.