标签: c++
给出以下非常简单的代码:
class X{} X something() { return X(); }
和
X something() { X x; return x; }
第二个例子可能(可能有编译器优化)制作2个副本 - 第一个用于第一行,第二个用于返回值。 但第一个怎么样?它会复制2次吗?还是只有一个?
谢谢!
答案 0 :(得分:1)
这两个例子是相同的,现代编译器应该实现Return value optimization