int i{0}; //(1)
int i = 0; //(2)
我是否正確理解在第一種情況下 (1) 變數 i 將已經創建為 0 作為它的值,而在 (2) 中它將創建時沒有值,然后賦值為 0,因此 (1) 將始終比 (2) 更快?
但似乎大多數(全部?)現代編譯器仍然會優化 (2) 以與 (1) 相同?
uj5u.com熱心網友回復:
使用 Brace Initialization 初始化變數在編譯時執行額外的檢查(對運行時沒有影響)。. 例如,如果您在花括號內輸入浮點文字,則會引發錯誤。用等號初始化將由編譯器優化。盡可能首選大括號初始化。我希望能回答你的問題
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/378903.html
上一篇:如何從定義它的類回傳結構?
