【发布时间】:2019-05-28 17:57:29
【问题描述】:
我有课
class Person {
// some other fields for this object
std::vector<string> relatives;
}
然后是一个返回人员列表的 util 函数
std::vector<Person> getSomePerson() {
// implementation details...
}
现在我要循环遍历:
for (auto&& p: getSomePerson()) { <---- do I need the rvalue reference???
// use p
some_other_vector.insert(
std::make_move_iterator(p.relatives.begin()),
std::make_move_iterator(p.relatives.end())
)
}
问题:我需要右值引用吗?与在这里使用简单的参考有什么不同吗?
【问题讨论】:
-
Duplicate?您似乎在暗示使用错误识别的右值引用与
getSoemPerson()是右值有关。不是。 -
信息太少,无法正确回答。根据提供的信息,我不知道您是否需要右值 ref。
-
已更新,我需要使用右值引用还是简单的引用可以工作?我想它无论如何都会复制?
标签: c++ c++14 rvalue-reference rvalue