复制构造函数调用 - 返回值

时间:2013-09-15 06:43:12

标签: c++

给出以下非常简单的代码:

class X{}

X something() {
      return X();
}

X something() {
      X x;
      return x;
}

第二个例子可能(可能有编译器优化)制作2个副本 - 第一个用于第一行,第二个用于返回值。 但第一个怎么样?它会复制2次吗?还是只有一个?

谢谢!

1 个答案:

答案 0 :(得分:1)

这两个例子是相同的,现代编译器应该实现Return value optimization