#include <vector>
using namespace std;
int main
{
vector<int> coll;
for (auto& i : coll) {} // 1
for (auto&& i : coll) {} // 2
}
According to cppref:
It is safe, and in fact, preferable in generic code, to use deduction to forwarding reference, for (auto&& var : sequence).
However, I think 2
is completely equivalent to 1
; in other words, 1
is enough.
Why is it recommended to use auto&&
rather than auto&
in range-for loop?
Aucun commentaire:
Enregistrer un commentaire