c++之引用和指针的区别和联系
来源:互联网 发布:用c语言输出直角三角形 编辑:程序博客网 时间:2024/06/08 09:39
区别:
1 引用不能为空(必须初始化),指针可为空。
int &a; // errorint *a; // ok
2 引用关系一旦被建立,则不能被解除,而指针可以指向别人。
int x = 1, y = 2;int &a = x;a = y; // x = y = 2执行后,x=2, y=2
int x = 1, y = 2;int *a = &x;a = &y;执行后,x=1, y=2
联系:
其实,引用的实现就是const类型的指针!但是c++不让你知道这个指针的地址
因此:
int &*p // error, 不允许使用指向引用的指针
int *x = NULL;int *&p=x; // 合法,P捆着的变量是int型的指针
void f(int &x){}; 不可传入 f(3*i),而void f(const int &x)可传入f(3*i),可见,i*3是作为一个const型的临时变量存在内存中。
阅读全文
0 0
- c++之引用和指针的区别和联系
- 指针和引用的区别和联系
- 引用和指针的联系和区别
- 指针和引用的区别和联系
- 引用和指针的联系和区别
- 指针和引用的区别和联系
- 引用和指针的区别和联系
- 引用和指针的区别和联系
- 指针和引用的联系与区别
- 指针和引用的区别于联系
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针和引用的联系与区别
- 指针、引用的区别和联系
- Android基础:网络(2)---学习笔记
- Android Studio报错:This version of Android Studio is incompatible with the Gradle Plugin used处理
- 《从零开始搭建游戏服务器》Java与Lua互相调用
- java对象和类
- MyBatis 二级缓存
- c++之引用和指针的区别和联系
- JDBC java对MySQL数据库进行查询操作,并把查询的结果输出
- mybatis 源码学习之getMapper过程分析
- 对一个数组按给定的下标排序,仅使用两两交换的方式,要求不能对数组进行扩容尽可能使用额外少的空间。原数组为:A,B,C,D,E, 现给定新的位置为3, 0, 1, 4, 2那么排序为D,A,B,E,C
- 23种设计模式之——建造者模式
- 磁盘调度算法
- C#中的泛型
- maven解决jar包版本冲突
- MyBatis二级缓存 完成版