考虑以下c++11
玩具示例:
class Foo {
public:
Foo(int aA) : a_{aA} {};
protected:
Foo();
private:
const int a_;
};
根据this guideline,大括号应该更适合初始化对象。然而, Scott Meyers 表示您应该在括号或大括号之间进行选择并始终如一地使用它。
请记住第一个链接,即 Bjarne Stroustrup 建议,是否存在使用大括号在构造函数的初始化列表中分配常量的任何副作用?我问它,因为他们都没有专门给出在构造函数中分配常量的例子。