引用必须在声明时就初始化,且以后不能改变
int rats = 1; int & r = rats;
当函数返回值为引用时
若返回栈变量: 不能成为其它引用的初始值
若返回静态变量或全局变量:可以成为其他引用的初始值
#include <iostream> using namespace std; int &getA1() { int a; a = 10; return a; } int& getA2() { static int a; a = 10; return a; } int main() { int &x = getA1(); int &y = getA2(); cout<<"x: "<<x<<endl; cout<<"y: "<<y<<endl; return 0; }
运行结果:
x: -858993460 y: 10