Sono nuovo di C++, e io sono confuso su questo:Perché il riferimento const può essere riassegnato in istruzione for?
vector<int> v = { 1,2 };
const int &r1 = v[0];
//r1 = v[1]; // compiler will show error.
Capisco che const riferimento r1
non può essere ri-assegnati. Ma guarda i codici seguenti:
for (const int &r2 : v) cout << r2;
Perché non dovrebbe andare storto? Il riferimento const r2
viene assegnato due volte, giusto?
È assegnato a v [0], quindi a v [1], non è vero? –
Perché '' (int k = 0; k <2; k ++) {const int & r1 = v [k];} 'consentito? – immibis
@immibis L'ho letto come se fosse un [koan] (https: //en.wikipedia.org/wiki/K% C5% 8Dan), ed è stato illuminato. :) – Numeri