亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

初始化是否需要從lvalue到rvalue的轉換?‘int x=x;’UB?

初始化是否需要從lvalue到rvalue的轉換?‘int x=x;’UB?

C++ C
撒科打諢 2019-07-03 10:13:08
初始化是否需要從lvalue到rvalue的轉換?‘int x=x;’UB?C+標準包含了3.3.2中“令人驚訝的”名稱查找的一個半著名的示例“聲明點”:int x = x;這將初始化x它本身,它(是一個原始類型)是未初始化因此,它有一個不確定的值(假設它是一個自動變量)。這實際上是沒有定義的行為嗎?根據4.1“lvalue-rvalue轉換”,對未初始化的值執行lvalue-rvalue轉換是未定義的行為。右手x接受這個轉變?如果是這樣的話,這個例子是否真的有未定義的行為呢?
查看完整描述

3 回答

?
揚帆大魚

TA貢獻1799條經驗 獲得超9個贊

這不是未定義的行為,只是不知道它的具體值,因為沒有初始化。如果變量是全局的,并且是內置類型的,那么編譯器將把它初始化為正確的值。如果變量是本地的,所以編譯器沒有初始化它,所以所有變量都是自己初始化的,那么就不要依賴編譯器。


查看完整回答
反對 回復 2019-07-03
  • 3 回答
  • 0 關注
  • 495 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號