c++中的引用
来源:互联网 发布:南欧四猪 知乎 编辑:程序博客网 时间:2024/06/09 16:21
c++的引用(可以看作一种意义上的指针)有三处:
1,作为变量;
2,作为函数形参;
3,作为函数返回值;
1,作为变量:int a;int b;int &x = a;这里x就是a的一个别名,也可以理解为a就是x,x就是a。但是x必须初始化,不能作为另一个变量的别名(例x = b),不能建立指向引用的指针(不能int *p = x;),不能建立指向引用的引用(例如不能int &z = x),不能建立数组的引用。其实感觉作为变量的引用用途不大。
2,作为函数形参:这是最常用的一种,我们需要将变量传递给函数处理,例如最简单的交换数值,其实我是很赞成多用引用作为形参的,因为可以避免复制变量,如果变量很大的话那么复制会导致效率很低,并且有些变量就不能复制,这时都要用引用形参。如果不想让函数改变变量的值则可以用const来修饰引用形参,其实变量传递给函数进来的是变量的地址。
3,作为函数返回值:最大的好处是不产生函数返回值的副本,效率很高,当返回函数引用时没有复制返回值,返回的是对象的引用,也就是返回对象本身。(函数返回引用:实际上是一个变量的内存地址,既然是内存地址的话,那么肯定可以读写该地址所对应的内存区域的值,即就是“左值”,可以出现在赋值语句的左边。)有限制:不能返回局部变量的应用,不能返回函数内部new分配的内存的引用。
#include <iostream>
using namespace std;
int b[10];
int& g(int x);
int main()
{
int a;
int &x = a;
a = 4;
cout << a << x << endl;
g(3) = 5;
cout << b[3] <<endl;
cin >> x;
return 0;
}
int& g(int x)
{
return b[x];
}
如果去掉&则编译不通过。
未完待续。。。。
- c语言中的引用
- 【C++】:C++中的引用
- 深入探讨C 中的引用
- 深入探讨C 中的引用
- C++/CLI中的引用类型
- 深入探讨C 中的引用
- C++中的引用
- [C++]C++中的引用(转)
- 【引用】C中的类型转换
- C语言中的引用调用
- 深入探讨c++中的引用
- C/C++中的指针、引用和JAVA中的引用
- C/C++中的引用和指针
- c语言形参中的引用变量
- C/C++中的引用和指针
- C/C++中的引用和指针
- c语言实现cpp中的引用传递
- C和C++中的引用和指针
- HTML5实例:利用HTML5打造noVNC客户端
- 建造者模式中指挥者类的作用
- XMLHttpRequest对象的属性
- 【D3D11游戏编程】学习笔记二:XNAMath之XMVECTOR
- 导入Android工程提示The project was not built since
- c++中的引用
- Android开发之旅:环境搭建及HelloWorld
- 安装MS Soap Toolkit3.0 出现Mscomct2.ocx错误
- dentry_hashtable
- 服务器返回的各种HTTP状态码
- jsoncpp解析拼装数组
- 一位清华差生10年奋斗经历
- js操作表单(十二课)
- Android对touch事件的拦截处理机制