我了解在三个实例上调用了复制构造函数

  • 实例化一个对象并用另一个对象的值对其进行初始化时。
  • 通过值传递对象时。

  • 3.按值从函数返回对象时。

    我对第3号有疑问
    如果在返回对象值时调用了复制构造函数,那么如果在函数中本地声明了对象,那么它就不会造成问题。

    我的意思是复制构造函数是一个深复制副本,并且将对象的引用作为参数

    最佳答案

    准确地称呼它是为了避免出现问题。从本地定义的对象初始化一个用作结果的新对象,然后销毁本地定义的对象。

    对于深度复制的用户定义的构造函数,它们都是相同的。首先为将用作结果的对象分配存储空间,然后调用复制构造函数。它使用传递的引用来访问本地定义的对象,并将必需的内容复制到新对象。

    09-10 04:01
    查看更多