c++中“引用”的加入简化了程序员的操作。
引用的实现上是通过将c语言中间接赋值操作的后两步进行整合,即将“实参、形参建立关联"与"通过指针修改实参值"这两步合二为一。
在函数返回值为引用时,只有返回的值为全局或静态变量时才可将函数作为左值来使用,否则将会出错。
通过函数返回值引用可以修改静态变量的值,如下所示:
int& g(){
static int a = 10;
a ++;
cout<<a<<endl;
return a;
}
int main(){
g()=100;
g();
system("pause");
return 0;
}
输出结果如下所示:
代码分析:
main()函数调用g()方法后,
将会输出a的值为11;
g()返回值为a的一个引用(指向a的一个常量地址),
故可将a修改为100,
再次调用g(),
static int a=10;此行代码将不会再进行编译,ps:static定义的变量会在第一次初始化的时候执行一次,
此时a++后将会变成101.