Я думаю, что большинство снова удивится этой теме, однако я имею в виду книгу «Общие знания C ++: основное промежуточное программирование», написанную «Stephen C. Dewhurst».
В книге он цитирует конкретное предложение (в разделе под пунктом 5. Ссылки - псевдонимы, а не указатели), как показано ниже
Ссылка - это псевдоним для объекта, который уже существует до инициализации ссылки. Как только ссылка инициализируется для ссылки на конкретный объект, она не может быть позже сделана для ссылки на другой объект ; ссылка связана с инициализатором в течение всего времени жизни
Кто-нибудь может объяснить, пожалуйста, контекст "позже нельзя заставить ссылаться на другой объект"
У меня работает код ниже,
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int i = 100;
int& ref = i;
cout<<ref<<endl;
int k = 2000;
ref = k;
cout<<ref<<endl;
return 0;
}
Здесь я ссылаюсь на переменную ref
на переменную i
и j
.
И код прекрасно работает.
Я что-то упустил? Я использовал SUSE10 64bit linux для тестирования моей программы.
Спасибо за ваш вклад заранее.