扫码关注官方订阅号
我的意思是:既然我已经重载了拷贝控制函数/运算符,为什么还要保留编译器自动生成的合成拷贝控制呢?
ringa_lee
个人觉得,有时候重载拷贝构造函数/运算符是为了说明在创建类的时候已经考虑到了拷贝控制的相关功能,当编译器合成的拷贝控制功能满足需要的时候,使用=default就不用自己写一遍了。如果今后类添加了其他数据成员,需要自定义拷贝控制时,就不需要再添加拷贝构造函数/运算符,而只需要修改现有的就行了。
=default
相当于if...else if...else...中最后那个else.意义是一样的
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
个人觉得,有时候重载拷贝构造函数/运算符是为了说明在创建类的时候已经考虑到了拷贝控制的相关功能,当编译器合成的拷贝控制功能满足需要的时候,使用
=default
就不用自己写一遍了。如果今后类添加了其他数据成员,需要自定义拷贝控制时,就不需要再添加拷贝构造函数/运算符,而只需要修改现有的就行了。相当于
if...else if...else...
中最后那个else.意义是一样的