Ссылке const можно присвоить значение int?

Я наткнулся на фрагмент кода

const int& reference_to_const_int = 20;
cout<<"\n  reference_to_const_int = "<<reference_to_const_int<<endl;     

Этот код компилируется и выполняется с выводом: -

reference_to_const_int = 20

Это что-то странное для меня. Насколько я знаю, ссылки не занимают память и являются псевдонимами других переменных. следовательно, мы не можем сказать

int& reference_to_int = 30;

Вышеупомянутое утверждение не должно компилироваться с ошибкой:-

 error: invalid initialization of non-const reference of type ‘int&’ from an rvalue of type ‘int’

Что именно происходит в случае "const int&"? Желательно полное объяснение.

Пожалуйста, помогите.

Спасибо

10
задан Fooo 29 May 2012 в 15:29
поделиться