小编Yan*_* K.的帖子

return-by vlaue 中的 C++ 复制构造函数激活

我无法找到以下问题的具体答案:

考虑以下代码:

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)?

c++ copy-constructor return-by-value

2
推荐指数
1
解决办法
261
查看次数

标签 统计

c++ ×1

copy-constructor ×1

return-by-value ×1