我知道在C++中,结构体和类非常相似,结构体成员默认为公有访问,而类的成员默认为私有访问等等。
然而,由于可以按照以下方式初始化结构体实例:
struct MyStruct{
int a;
int b;
int c;
};
MyStruct s1 = {1, 2, 3}; //a=1, b=2, c=3
MyStruct s2 = {}; //a=0, b=0, c=0
在C++中,对于类的操作是否安全呢?例如:
class MyClass{
int a;
int b;
int c;
};
MyClass c1 = {1, 2, 3}; //a=1, b=2, c=3
MyClass c2 = {}; //a=0, b=0, c=0
问题: 我知道我们可以使用构造函数,如果我像结构体一样初始化类实例,有什么需要注意的陷阱吗?如果我使用这种方法将数据成员初始化为它们的默认值(例如int为0和指针为null),这是否是安全的操作?