同样,默认复制构造函数是否调用所有成员的复制构造函数?例如,如果一个类有一个非 POD 成员,如下所示:
class A
{
std::string str;
};
...默认的编译器生成的复制构造函数和赋值运算符会正常工作吗?他们会调用字符串的复制构造函数,operator=
还是只是按位复制成员变量str
?
换句话说,拥有std::string
成员是否意味着此类需要用户实现的复制构造函数和赋值运算符?
同样,默认复制构造函数是否调用所有成员的复制构造函数?例如,如果一个类有一个非 POD 成员,如下所示:
class A
{
std::string str;
};
...默认的编译器生成的复制构造函数和赋值运算符会正常工作吗?他们会调用字符串的复制构造函数,operator=
还是只是按位复制成员变量str
?
换句话说,拥有std::string
成员是否意味着此类需要用户实现的复制构造函数和赋值运算符?