搜索

首页  >  问答  >  正文

C++ 里面default的作用是什么?

我的意思是:既然我已经重载了拷贝控制函数/运算符,为什么还要保留编译器自动生成的合成拷贝控制呢?

ringa_leeringa_lee2812 天前783

全部回复(2)我来回复

  • 迷茫

    迷茫2017-04-17 13:19:23

    个人觉得,有时候重载拷贝构造函数/运算符是为了说明在创建类的时候已经考虑到了拷贝控制的相关功能,当编译器合成的拷贝控制功能满足需要的时候,使用=default就不用自己写一遍了。如果今后类添加了其他数据成员,需要自定义拷贝控制时,就不需要再添加拷贝构造函数/运算符,而只需要修改现有的就行了。

    回复
    0
  • PHP中文网

    PHP中文网2017-04-17 13:19:23

    相当于
    if...else if...else...
    中最后那个else.意义是一样的

    回复
    0
  • 取消回复