有人說說是為了避免歧義。比如:class Widget
{private:
typedef int x; int z(x);
};這樣變成了函數(shù)聲明。但是,在類外同樣可以寫typedef int x;int z(x);我覺得避免歧義并不是它的原因。之后看有人說是類內(nèi)不允許直接初始化,那么列表初始化不屬于直接初始化嗎?請問類內(nèi)不允許圓括號初始化是什么原因?C++ primer第五版65頁只說了“記住”,沒說原因啊
1 回答

慕斯王
TA貢獻1864條經(jīng)驗 獲得超2個贊
你為什么 duang 一下就覺得“避免歧義并不是它的原因”?
Most Vexing Parse 了解一下?想用小括號初始化必然會面對失敗。引入列表初始化還不是為了克服這些問題。
- 1 回答
- 0 關(guān)注
- 902 瀏覽
添加回答
舉報
0/150
提交
取消