初始化是否需要左值到右值轉換?
C 11 標準對於初始化是否需要左值到右值轉換仍然不明確。但是,有證據表明,除非另有說明,否則右值應作為內建運算符中的操作數。這種方法已擴展到初始化器的上下文。
猜想:值的純右值
假設的規格是,只要需要值,就需要純右值,包括在初始化期間。這意味著初始化物件時需要進行左值到右值的轉換。
猜想的後果
如果初始化需要純右值,則會發生以下情況:
進一步證據
支持此猜想的其他證據包括:
結論
根據所提供的證據,最可能的解釋是初始化需要純右值,從而在使用未初始化的左值作為初始化器時導致未定義的行為。除非另有說明,這種解釋與期望內建運算符中的右值的更廣泛方法一致。
以上是C 初始化是否需要左值到右值轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!