是否应该使用std :: move返回函数局部变量?

时间:2012-09-24 02:14:44

标签: c++ reference c++11 return-value move-semantics

  

可能重复:
  Using std::move() when returning a value from a function to avoid to copy

假设您在函数中有任何类型的变量,并且您想要返回它:

X foo(/*...*/) {
  X x;
  //...
  return x;
}

我正在尝试确定是否存在return std::move(x);会出现问题的情况。显然x将超出范围,因此似乎没有充分理由保持它。但是,我不确定如果X引用了一些长(er)生存变量Y&,会产生什么影响。

0 个答案:

没有答案