为什么建议使用“auto&&”而不是“汽车&”在范围换环?

时间:2017-02-26 16:07:36

标签: c++ c++11 syntax standards idioms

#include <vector>

using namespace std;

int main
{
    vector<int> coll;
    for (auto&  i : coll) {} // 1
    for (auto&& i : coll) {} // 2
}

根据cppref

  

安全,事实上,在通用代码中,最好使用演绎   转发参考,用于(auto&amp;&amp; var:sequence)。

但是,我认为2完全等同于1;因为i仍然是左值,即使它被声明为auto&&

为什么建议在range-for循环中使用auto&&而不是auto&

0 个答案:

没有答案