предположим, у меня есть функция, которая принимает передачу аргумента константной ссылки,
int func(const int &i)
{
/* */
}
int main()
{
int j = 1;
func(j); // pass non const argument to const reference
j=2; // reassign j
}
этот код работает нормально. Согласно праймеру C ++, как выглядит этот аргумент, передаваемый этой функции:*
, в котором i является синонимом (псевдонимом) j,
мой вопрос: если i является синонимом j, и я определен как const, это код:
const int & i = j
redelcare переменная не const в переменную const?почему это выражение допустимо в c ++?