c++ - 构造函数返回什么?

标签 c++ constructor return-type

我的问题是构造函数返回什么?这个问题与“构造函数的返回类型是什么?”没有太大区别。 我在某处读到构造函数返回一个完整的对象隐式(即隐式返回类型是类的名称)但不应显式指定。

struct empty{};

int main(){
   empty(); //creates a temporary and implicitly a constructor is called
}

所以根据我的解释,隐式返回类型应该是类的名称,在本例中为。我的狂野解释是否正确?

最佳答案

构造函数不返回任何内容。调用构造函数来初始化对象。构造函数只能用于初始化对象;您实际上不能显式调用构造函数(一方面,构造函数没有名称)。

在你给出的例子中,empty()不是函数调用表达式,是值初始化。它创建一个类型为 empty 的值初始化临时对象。

关于c++ - 构造函数返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4252680/

相关文章:

python - python中的多个构造函数

java - Java 中的整数返回类型

Java方法据说返回类的对象但返回子类的对象

在类体之外定义函数时的 C++ 派生构造函数 - "no default constructor"

c++ - 微软 Visual Studio 社区 2017 的 Graphics.h

c++ - 在结构中的结构内部结构

来自 Mysql DateTime 字符串的 C++ unix 时间

C++ - 从另一个类构造函数调用类构造函数

c++ - CONFIGRET 返回类型是什么意思?

c++ - 有有效期的许可制度