Довольно теоретический вопрос... Почему константные ссылки не ведут себя так же, как постоянные указатели, и я могу фактически изменить объект, на который они указывают? Они действительно кажутся еще одной декларацией простой переменной. Зачем мне их использовать? Это короткий пример, который я запускаю, который компилируется и запускается без ошибок:
int main (){
int i=0;
int y=1;
int&const icr=i;
icr=y; // Can change the object it is pointing to so it 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;
}