Jestem nowym do C++ i jestem mylić o tym:Dlaczego referencja const może być ponownie przypisana w instrukcji for?
vector<int> v = { 1,2 };
const int &r1 = v[0];
//r1 = v[1]; // compiler will show error.
Rozumiem, że const odniesienia r1
nie może być ponownie przydzielony. Ale spójrz na poniższe kody:
for (const int &r2 : v) cout << r2;
Dlaczego by tak nie poszło? Oznaczenie stałe r2
jest przypisane dwukrotnie, prawda?
Jest przypisany do v [0], a następnie do v [1], nieprawdaż? –
Dlaczego jest 'for (int k = 0; k <2; k ++) {const int & r1 = v [k];}' allowed? – immibis
@immibis Czytałem to tak, jakby to był [koan] (https: //en.wikipedia.org/wiki/K% C5% 8Dan) i został oświecony. :) – Numeri