初始化是否需要從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個贊
- 3 回答
- 0 關注
- 495 瀏覽
添加回答
舉報
0/150
提交
取消
