C++ 第13章 复制控制---复制构造函数、赋值操作符、析构函数

来源:互联网 发布:上海易娱网络 编辑:程序博客网 时间:2024/05/16 09:23
  • 每种类型,无论是内置类型还是类类型,都对该类型对象的一组(可能为空的)操作的含义进行了定义。

  • 比如,我们可以将两个int值相加,运行vector对象的size操作等。这些操作定义了用给定类型的对象可以完成什么任务。

  • 每种类型还定义了创建该类型的对象时会发生什么—–构造函数定义了该类类型对象的初始化。类型还能控制复制、赋值或撤销该类型的对象时会发生什么—-类通过特殊的成员函数:复制构造函数、赋值操作符和析构函数来控制这些行为。

  • 当定义一个新类型的时候,需要显示或隐式地指定复制、赋值和撤销该类型的对象时会发生什么—–这是通过定义特殊成员:复制构造函数、赋值操作符和析构函数来达到的。如果没有显示定义复制构造函数或赋值操作符,编译器会为我们定义。

  • 复制构造函数是一种特殊构造函数,具有单个形参,该形参(const)是对该类类型的引用。当定义一个新对象并用一个同类型的对象对它进行初始化时,将显示使用复制构造函数。当将该类型的对象传递给函数或从函数返回该类型的对象时,将隐式使用复制构造函数。

  • 析构函数是构造函数的互补:当对象超出作用域或动态分配的对象被删除时,将自动应用析构函数。析构函数可用于释放对象时构造或在对象的生命期中所获取的资源。不管类是否定义了自己的析构函数,编译器都自动执行类中非static数据成员的析构函数。

  • 复制构造函数、赋值操作符和析构函数总称为复制控制

0 0
原创粉丝点击