У меня возникли проблемы с пониманием поведения в этом фрагменте:
unsigned int i = 2;
const int &r = i;
std::cout << r << "\n";
i = 100;
std::cout << r << "\n";
Первый оператор печати дает 2, как я ожидаю, но когда я изменяю значение ссылочной переменной, оно не отражается в ссылке. Второй оператор печати также дает 2, но я думаю, что он должен дать 100?
Если я делаю переменную i
в тип int
вместо unsigned int
, она работает так, как я ожидаю. Что здесь происходит?