paip.c++ 指针跟引用的区别.

paip.c++ 指针跟引用的区别.


 


作者Attilax ,  EMAIL:1466519819@qq.com 
来源:attilax的专栏
地址:http://blog.csdn.net/attilax




指针是一个变量的地址,引用是一个变量的别名。
1. 指针是一个地址编号,而引用仅是个别名;
2. 引用使用时无需解引用(*),指针需要解引用;
3.引用是操作受限了的指针(仅容许取内容操作)。
4.指针用操作符‘*’和‘->’,引用使用操作符‘.’
5.指针是用来指向某个变量,而引用是给变量取个别名,其作用就如同typedef一样。
6.所以引用访问对象是直接访问。指针访问对象是间接访问。
7.两者在作为形参的时候非常相似,区别是指针拷贝副本,引用不拷贝。




在C++里优先选择引用类型作为形参,因为操作一个变量比操作一个指针要简单的多
但用指针作为形参的好处是它可以通过自增或自减改变它的指向


用引用作形参时在调用函数里就像操作实参一样,不需要考虑实参的地址问题
用指针做形参时,由于指针的值是变量的地址,所以要通过对地址解引用来操作其所指的变量



例:int a=10;//a存放在存储空间的地址为:0x000009
       int &b=a;//b就是a的引用,此时b 的值也为10
       int *ptra=&a;//ptra就是a的指针,其值为0x000009

参考
C++中的- 和.的问题?_百度知道.htm
指针和引用有什么区别 请写一个简单的程序说明_百度知道.htm
指针和引用的区别_百度知道.htm
原文地址:https://www.cnblogs.com/attilax/p/15199529.html