мета-данные страницы
Это старая версия документа!
ссылки
Ссылка (reference) представляет способ манипулировать каким-либо объектом. Фактически ссылка - это альтернативное имя для объекта. Для определения ссылки применяется знак амперсанда & (не путать с операцией получения адреса для указателя типа int *pa = &a;)
Нельзя определить пустую ссылку, она всегда должна ссылаться на объект. Также нельзя присвоить ссылке литеральное значение.
После установления ссылки мы можем через нее манипулировать самим объектом, на который она ссылается. Изменения по ссылке неизбежно скажутся и на том объекте, на который ссылается ссылка.
#include <iostream> int main() { int number {5}; int &refNumber {number}; std::cout << refNumber << std::endl; // 5 refNumber = 20; std::cout << number << std::endl; // 20 }
Можно определять не только ссылки на переменные, но и ссылки на константы. Но при этом ссылка сама должна быть константной. Инициализировать неконстантную ссылку константным объектом мы не можем. Также константная ссылка может указывать и на обычную переменную, только значение по такой ссылке мы не сможем изменить.