我的问题是构造函数返回什么?这个问题与“构造函数的返回类型是什么?”没有太大区别。 我在某处读到构造函数返回一个完整的对象隐式(即隐式返回类型是类的名称)但不应显式指定。
struct empty{};
int main(){
empty(); //creates a temporary and implicitly a constructor is called
}
所以根据我的解释,隐式返回类型应该是类的名称,在本例中为空
。我的狂野解释是否正确?
最佳答案
构造函数不返回任何内容。调用构造函数来初始化对象。构造函数只能用于初始化对象;您实际上不能显式调用构造函数(一方面,构造函数没有名称)。
在你给出的例子中,empty()
不是函数调用表达式,是值初始化。它创建一个类型为 empty
的值初始化临时对象。
关于c++ - 构造函数返回什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4252680/