是否可以用初始化列表初始化boost::unordered_map
? -Weffc++
需要它。Boost :: unordered_map初始化列表?
我不能使用一種方法來初始化它,因爲我只在構造函數內部進行一些處理後才填充地圖。我可以在方法中創建一個空映射並將其返回,但對我來說這聽起來不是一個好主意。
我也可以使用一個指針,並將它初始化爲NULL。我寧願不要創建一個空方法的等價物。
是否可以用初始化列表初始化boost::unordered_map
? -Weffc++
需要它。Boost :: unordered_map初始化列表?
我不能使用一種方法來初始化它,因爲我只在構造函數內部進行一些處理後才填充地圖。我可以在方法中創建一個空映射並將其返回,但對我來說這聽起來不是一個好主意。
我也可以使用一個指針,並將它初始化爲NULL。我寧願不要創建一個空方法的等價物。
只是默認構造在初始化列表中的成員變量:
struct S {
boost::unordered_map<int, int> m;
S() : m() { }
};
這是足以讓-Weffc++
閉嘴。
這是值初始化,而不是默認值 - 初始化(§8.5/ 7): - ] – ildjarn
對,謝謝。(我的意思是_default construct_,但是,_value initialization_也是正確的,更通用。) –
這裏的初始化列表是什麼意思?爲什麼不直接調用其默認構造函數? – bdonlan
因爲這個原因,我不使用'WeffC++'。 – GManNickG
我不使用'-WeffC++',因爲它看起來像是一種「禮貌」的方式來說「F *** C++',當然我不想說。」 –