定義參考

引用的行為類似,但不完全像 const 指標。通過將&符號 & 字尾為型別名稱來定義引用。

int i = 10;
int &refi = i;

這裡,refi 是與 i 繫結的參考。
引用抽象了指標的語義,就像底層物件的別名一樣:

refi = 20; // i = 20;

你還可以在單​​個定義中定義多個引用:

int i = 10, j = 20;
int &refi = i, &refj = j;

// Common pitfall :
// int& refi = i, k = j;
// refi will be of type int&.
// though, k will be of type int, not int&!

必須在定義時正確初始化引用,之後不能修改引用。以下程式碼導致編譯錯誤:

int &i; // error: declaration of reference variable 'i' requires an initializer

與指標不同,你也無法直接繫結對 nullptr 的引用:

int *const ptri = nullptr;
int &refi = nullptr; // error: non-const lvalue reference to type 'int' cannot bind to a temporary of type 'nullptr_t'