-1 c++ constructor object c++11
我想知道并且找不到可靠的来源来回答我的问题:构造函数是否隐式返回对象本身类型的值?
我的来源:https ://blog.miyozinc.com/core-tutorials/cpp/cpp-constructors-destructors/ (确实返回)
C++中复制构造函数有返回值吗(不返回)
不。
构造函数主体中的 return 语句不应指定返回值。不应获取构造函数的地址。
并且,类似地[stmt.return]/1和[stmt.return]/2:
/1 函数通过 return 语句返回到其调用者。
/2 [...] 不带操作数的 return 语句只能在返回类型为 cv void 的函数、构造函数或析构函数中使用。[...]从构造函数、析构函数或具有 cv void 返回类型的非协程函数的末尾流出相当于没有操作数的返回。
构造函数没有返回值,但完成后它们返回给调用者。
struct S {
S(int) { }
};
int main() {
S s{42};
}
Run Code Online (Sandbox Code Playgroud)
相当于
struct S {
S(int) { return; }
};
int main() {
S s{42};
}
Run Code Online (Sandbox Code Playgroud)
最后,返回值与函数调用的上下文相关,但S s{42}、S{42}、S s(42)或都不S(42)是函数调用,它是初始化器跟随声明器的情况的初始化。
| 归档时间: |
|
| 查看次数: |
305 次 |
| 最近记录: |