C++为什么要用引用而不是指针

 我来答
xq...6@163.com
2017-04-03 · TA获得超过109个赞
知道小有建树答主
回答量:395
采纳率:0%
帮助的人:94.5万
展开全部
 引用与指针区别:引用只是取得数据,无权修改,句柄就是一种引用的方式;指针是直接指向内存的,可以修改数据的。

  引用访问一个变量是直接访问,而指针是间接访问。
  引用是一个变量的别名,本身不单独分配自己的内存空间,而指针有自己的内存空间。
  引用在开始的时候就绑定到了一个内存空间(开始必须赋初值),所以他只能是这个内存空间的名字,而不能改成其他的,当然可以改变这个内存空间的值.
  例如
  int i = 3,j = 4;
  int &x = i;//成为i的别名
  x = j;//不能否认x仍然引用i,并没有成为j的别名,只是修改了x和j共享的内存空间的值.
  这点与指针不同,指针在任何时刻都可以改变自己的指向。

  无法让引用与其指示物分离。
  和指针不同,一旦引用和对象绑定,它无法再被重新指向其他对象。引用本身不是一个对象(它没有标识;当试图获得引用的地址时,你将的到它的指示物的地址;记住:引用就是它的指示物 )。
  从某种意义上来说,引用类似 int* const p 这样的const指针(并非如 const int* p这样的指向常量的指针)。不管有多么类似,请不要混淆引用和指针;它们完全不同。
书奥006
2017-04-03 · TA获得超过235个赞
知道小有建树答主
回答量:230
采纳率:0%
帮助的人:42.1万
展开全部
习惯问题……用const修饰,那么在你的函数体里就不可以对其进行更改,否则报错!这是为了使有些指针要想被其它函数调用,但又不希望由于失误被其它函数意外更改而设置的。如果你本意就是要做指针的更改,那当然就别加const了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bj_jp996e49a
2017-04-03 · TA获得超过1.2万个赞
知道大有可为答主
回答量:1.2万
采纳率:78%
帮助的人:2538万
展开全部
简单的说:就是为了安全,为了简便。。因为c++将面临大型程序,必须把安全放在第一位,否则一旦程序庞大到一定程度,如果因某个指针错误而造成的整个程序崩溃,哪怕差错都可能需要几天甚至几周时间了。。c++语言就是c语言走向高级语言的升级版。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式