【发布时间】:2017-10-19 08:00:29
【问题描述】:
我有一个非常基本的问题:使用std::move 返回std::vector<A> 是个好主意吗?例如:
class A {};
std::vector<A> && func() {
std::vector<A> v;
/* fill v */
return std::move(v);
}
我应该以这种方式返回std::map、std::list..等吗?
【问题讨论】:
-
这不会编译。
-
按值返回即可。
-
std::vector<A> & v;??你确定吗? -
按值返回应该被认为是可取的。您将获得返回值优化,而移动您将招致移动。
-
我的意思是 std::vector v,没有 &