我已经尝试过阅读C ++文档,但我觉得很难理解。我喜欢将我的结构初始化为零:
MyStruct myStruct = {};
但是如果我将这个结构作为类成员,我如何在构造函数中初始化?
struct MyStruct
{
int x;
int y;
}
class MyClass
{
MyStruct mMyStruct;
public:
MyClass();
}
// is this fine?
MyClass::MyClass()
: mMyStruct()
{}
// or this?
MyClass::MyClass()
: mMyStruct({})
{}
// or do I need this?
MyClass::MyClass()
: mMyStruct()
{
mMyStruct = {};
}
答案 0 :(得分:3)
一种方法是:
class MyClass
{
MyStruct mMyStruct = {};
public:
MyClass(); // actually unnecessary
};
答案 1 :(得分:1)
您可以使用符号
MyClass::MyClass()
: mMyStruct{}
{
}
请参阅http://en.cppreference.com/w/cpp/language/initializer_list
你知道这些文件太糟糕了。