我来自 Java,任何东西都可以参考,所以我试图弄清楚 C++ 实例创建的基础。
Employee getEmp(int a) {
Employee local(a);
return local;
}
Employee myEmp = m.getEmp(10);
有 3 次 Employee 实例化(没有 RVO)是否正确?
1 - 创建本地副本
2 - 创建临时副本以绑定到引用)
3 - 创建 myEmp
为什么需要在第 2 步?为什么不直接将本地复制到myEmp?
如果我打算只使用 Ubuntu,我应该依靠 RVO,我是否更正了 RVO 只完成了两个实例创建(步骤 2 中不需要)?
谢谢!!!