美文网首页
C++缺省函数(big three,big five)

C++缺省函数(big three,big five)

作者: FakeCSer爱去网吧 | 来源:发表于2020-04-27 15:50 被阅读0次
如果定义一个空类,编译器会帮你生成的函数

四个函数(默认构造函数+big three)

  1. 默认构造函数(不带参数的构造函数)
  2. 析构函数
  3. 赋值函数(operator=)(按字节拷贝)
  4. 拷贝构造函数(用一个对象来初始化另一个对象)(按字节拷贝)

注意由于3和4是按字节拷贝,如果类中有指针,会变成浅拷贝,所以注意有指针的时候自己写,通常来说,要么全部接受要么全部重写

c++11中加了俩函数变成6个(默认构造+big five)

  1. 默认构造函数(不带参数的构造函数)
  2. 析构函数
  3. 赋值函数(operator=)(按字节拷贝)
  4. 拷贝构造函数(按字节拷贝)
  5. 移动构造函数
  6. 移动赋值操作
    c++引入右值和move,5,6可以提升效率。
    具体见博客https://blog.csdn.net/SwordArcher/article/details/101172946

相关文章

网友评论

      本文标题:C++缺省函数(big three,big five)

      本文链接:https://www.haomeiwen.com/subject/atnywhtx.html