В С++-праймер я обнаружил, что const int & может связываться с объектом int. Я не понимаю этого, потому что я думаю, что const int & должен связываться с объектом const int not a int, int объект может измениться, книга объясняет этот вопрос тем, что когда объект const int & связывается с int; между ними существует временный объект, например:
int a=0;
const int &r=a;
Мы можем использовать b как временное значение, поэтому выше равно:
const int b=a;
const int &r=b;
Но я думаю, что книга неправильная, потому что, если существует временная, как b, существующая между a и r, значение r не может быть изменено, но когда я отлаживаю следующее кодирование в visual studio, я обнаружил, что это неправильно:
int a=0;
const int &r=a;
a=3;
cout<<r<<endl;
Вывод: r=3; можно изменить значение r, почему? Я этого не понимаю.
