84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
我的意思是:既然我已经重载了拷贝控制函数/运算符,为什么还要保留编译器自动生成的合成拷贝控制呢?
ringa_lee
个人觉得,有时候重载拷贝构造函数/运算符是为了说明在创建类的时候已经考虑到了拷贝控制的相关功能,当编译器合成的拷贝控制功能满足需要的时候,使用=default就不用自己写一遍了。如果今后类添加了其他数据成员,需要自定义拷贝控制时,就不需要再添加拷贝构造函数/运算符,而只需要修改现有的就行了。
=default
相当于if...else if...else...中最后那个else.意义是一样的
个人觉得,有时候重载拷贝构造函数/运算符是为了说明在创建类的时候已经考虑到了拷贝控制的相关功能,当编译器合成的拷贝控制功能满足需要的时候,使用
=default
就不用自己写一遍了。如果今后类添加了其他数据成员,需要自定义拷贝控制时,就不需要再添加拷贝构造函数/运算符,而只需要修改现有的就行了。相当于
if...else if...else...
中最后那个else.意义是一样的