lvalue-to-rvalue преобразование и неопределенное поведение в int x = x;
в C, вопрос о том, представляет ли назначение неинициализированной ценности самому себе, представлена не определенное поведение. Стандарт (3.3.2) заявляет, что инициализация переменной с самим собой, как в примере int x = x;, может привести к неожиданным результатам. Предположим, что правая рука X является ненициализированной автоматической переменной с неопределенным значением. Согласно стандарту (4.1), выполнение преобразования LVALUE-TO-RVALUE по такому значению приводит к неопределенному поведению.
доказательства для преобразования LVALUE-TO-RVALE
] Несмотря на отсутствие требований к выраженности в стандартах, различные последствия предполагают, что первичные интилюции являются встроенными в строительства по умолчаниям, чтобы они не были в строительстве, чтобы они не были в строительстве, чтобы они не были в строительстве. Например, стандартные примечания, которые встроенные операторы назначения влекут за собой преобразование LVALUE в RVALE для правильного операнда. Другие положения также указывают на то, что обычно ожидается преобразование Lvalue-r-r-r-r-r-r-r- Данные свидетельствуют о том, что предполагаемая спецификация состоит в том, чтобы ожидать prvalues, где необходимо значение, необходимое. поведение.
поддерживающие доказательства
Кроме того Во время преобразования LVALUE в RVALE. Это предполагает намерение установить неопределенное поведение в таких случаях, как int x = x;.
Заключение
на основе представленных доказательств, разумно сделать вывод о том, что реверсия Lvalue-to-rvalue требуется при инициализации int x = x; Это, в свою очередь, приводит к неопределенному поведению из-за ненициализированной природы правой рукой x. Несоответствия стандарта и необходимость разъяснения подчеркивают важность подробных спецификаций для категорий ценностей.Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3