В соответствии с этим сообщением неопределенное значение:
3.17.2
1 indeterminate value
either an unspecified value or a trap representation
Согласно google, определение неопределенного:
- Не известно, известно или установлено
- Оставленный сомнительный; расплывчаты.
В соответствии с литературным определением определяется:
- может быть определен
Согласно Merriam-webster, для определения (в конкретном контексте):
- чтобы узнать или прийти к решению по расследованию, рассуждениям или расчетам
Таким образом, здравый смысл подсказывает, что даже несмотря на то, что неопределенное значение неизвестно во время компиляции, оно вполне определяется во время выполнения, например. вы всегда можете прочитать все, что происходит, чтобы занять это место памяти.
Или я ошибаюсь? Если да, то почему?
EDIT: Чтобы уточнить, я публикую это в связи с тем, что стало горячим спором с пользователем, который пытался убедить меня, что неопределенное значение неопределимо, о чем я очень сомневаюсь.
EDIT 2: Чтобы уточнить, "определяемым" я не имею в виду стабильное или полезное значение, даже если это значение мусора для неинициализированной памяти, значение этого мусора все еще можно определить. Я имею в виду, что попытка определить, что значение будет по-прежнему давать в некотором значении, а не... никаких действий. Таким образом, это значение должно быть получено из некоторой памяти, выделенной в качестве хранилища для еще неопределенного значения. Я очень сомневаюсь, что компилятор действительно будет использовать генератор случайных чисел только для того, чтобы придумать какое-то произвольное значение.