C++ 定义参考

示例

引用的行为类似,但不完全像const指针。通过&在类型名称后加上“&”号来定义引用。

int i = 10;
int &refi = i;

此处refi是的参考i。
引用抽象了指针的语义,就像对基础对象的别名一样:

refi = 20; // 我= 20;

您还可以在一个定义中定义多个引用:

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

// 常见陷阱:
// int& refi = i, k = j;
// refi will be of type int&.
// though, k will be of type int, not int&!

引用必须在定义时正确初始化,此后不能修改。以下代码段导致编译错误:

int &i; // 错误:引用变量'i'的声明需要初始化

您也不能直接将引用绑定到nullptr,而不像指针:

int *const ptri = nullptr;
int &refi = nullptr; // 错误:对“ int”类型的非常量左值引用无法绑定到“ nullptr_t”类型的临时对象