C++引用和指针的区别
来源:互联网 发布:罗技g502设置软件 编辑:程序博客网 时间:2024/05/08 09:45
C++引用和指针在间接使用其他对象的各种操作功能上面类似,但是两者的不同之处也很明显:
1.指针本身占据内存空间,但是引用只是一个对象的别名,本身不分配内存空间;2.指针定义时可以不初始化,但是定义一个引用必须进行初始化,并且初始化时只能是一个对象; 比如:int &b = 3.14; //这样是错的,要明白"引用只是一个对象的别名而已"3.指针可以重新指向另外一个对象,但是引用无法重新绑定到另外一个对象;
指针和引用有很大不同,但是初学的时候确实容易混淆,只要记住,引用只是一个对象的别名,两者共占一个内存地址,而指针则有自己单独的内存空间,只是指向某个内存地址。
那么,指向指针的引用该怎么理解呢?
#include <iostream>using namespace std;int main(){ int test = 3; int *p = NULL; int *&r = p; //r是对指针p的一个引用 cout << "p的地址为:" << p << " r的地址为" << r << endl; r = &test; //相当于p = &test cout << "*p的值为" << *p << " *r的值为" << *r << endl; *r = 4; //相当于*p = 4,改变了test的值 cout << "test的值为" << test << endl; cout << "*p的值为" << *p << " *r的值为“ << *r <<endl; return 0;}输出结果:p的地址为0 r的地址为0*p的值为3 *r的值为3test的值为4*p的值为4 *r的值为4
经过这个例子,相信大家对引用和指针不明白的那一部分应该能理解了。
0 0
- 【C/C++】引用和指针的区别
- 指针和引用的区别(C++)
- C程序设计语言--指针和引用的区别
- 引用和指针的区别C/C++
- [C++]指针和引用的区别
- C++:指针和引用的区别
- 【C++】指针&引用的区别
- 【C/C++】概念:指针和引用的区别
- c++引用类型和指针类型的区别
- 【C/C++学习】之一、指针和引用的区别
- JAVA 引用和C语言指针的区别
- 指针和引用的区别
- 指针和引用的区别
- 指针和引用的区别
- 指针和引用的区别
- 指针和引用的区别
- 指针和引用的区别
- 指针和引用的区别
- eclipse +debug的5种断点方式
- background-image和<img/>的区别
- jsp网站favicon.ico设置
- Python中的collections
- 行为心理学-在產品中的运用(一)
- C++引用和指针的区别
- leetcode题解-409. Longest Palindrome
- 笔试题5. LeetCode OJ (5) Reverse String
- SQLServer 2014 SP2实现克隆数据库
- 关于指针的指针和二维数组
- stm8s003使用心得_时钟(CLK)
- ROSJAVA master webserver 分析
- c#中超级好用的DataSet
- JavaScript : 浅讲ajax