0

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

class X{}

X something() {
      return X();
}

和:

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

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

谢谢!

4

1 回答 1

1

两个例子是一样的,现代编译器应该已经实现了返回值优化

于 2013-09-15T06:45:21.977 回答