复制构造函数在C++中是否具有返回值

kad*_*ina 1 c++

我理解了复制构造函数的概念.直到现在我才认为复制构造函数不会有返回值.但我在互联网上看到了一些关于智能指针的代码,它将拷贝构造函数定义为返回一些值.这是对的吗?C++中的复制构造函数是否具有返回值?

Rob*_*ahy 7

构造函数(通常)没有返回类型,也不返回值:

不应为构造函数指定返回类型(甚至无效).构造函数体中的return语句不应指定返回值.

§12.1[class.ctor]

您可能正在考虑复制赋值运算符,它执行不同但相关的操作,如下所示:

T & operator = (const T &);
Run Code Online (Sandbox Code Playgroud)

  • @RobertAllanHenniganLeahy - 实际上我和MGaz就这个问题.一般来说,这意味着在一般委托人不适用的情况下. (3认同)
  • @MGaz:意思相反.这意味着我所说的适用于**所有**构造函数,而不仅仅是复制构造函数. (2认同)