我无法找到以下问题的具体答案:
考虑以下代码:
Obj f() {
Obj o2;
return o2;
}
int main() {
Obj o1 = f();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在没有编译器优化的情况下,复制构造函数被激活了多少次?
如果没有移动构造函数,不是一次将o2复制到调用函数,另一次构造o1吗?
如果有move构造函数,不是一次将 o2 复制到调用函数,另一次构造 o1 (第二次是 move const)?