是否存在允许您使用struct初始化语法的语法:
struct A { int a; int b; }
int main()
{
A a = { 1, 2 }; //syntax
return 0;
}
在初始化列表中? E.g。
class B
{
public:
B(int a_, int b_) : obj { a_, b_ } { }
private:
A obj;
};
答案 0 :(得分:4)
如果您有一个包含公共成员变量的类,您可以像使用结构一样自动使用它。但是在C ++中,没有办法定义任意初始化列表行为。但是在C ++ 0x中,正如here指出的那样。如果您碰巧使用GCC,GCC 4.4及更高版本支持此功能(如果使用参数-std = c ++ 0x进行编译)