Dość teoretyczne pytanie ... Dlaczego stałe odniesienia nie zachowują się tak samo, jak stałe wskaźniki i czy mogę rzeczywiście zmienić obiekt, na który wskazują? Naprawdę wydają się być kolejną deklaracją zmiennej. Dlaczego miałbym ich używać? Jest to krótki przykład, że biegnę który kompiluje i działa bez żadnych błędów:Co to jest stałe odniesienie? (nie odniesienie do stałej)
int main(){
int i=0;
int y=1;
int&const icr=i;
icr=y; // Can change the object it is pointing to so it's not like a const pointer...
icr=99; // Can assign another value but the value is not assigned to y...
int x=9;
icr=x;
cout<<"icr: "<<icr<<", y:"<<y<<endl;
}
Spójrz 'I' przed i po 'ICR = Y;'. –
Stałe odniesienie jest ... nonsensem. :) – jalf
Czy to się kompiluje? –