C++为什么不允许引用更改指向对象

C++语言 码拜 8年前 (2016-09-22) 2423次浏览
如题,想知道有没有原因。
解决方案

20

原因是
1)那样不过是多了一种新的指针而已。
这样做,等于有两种不同的指针。
其中一种是多余的。
事实上,指针要兼容C 是必须要有的。
引用对于C++来说也是必须有的。
象,复制构造函数,参数必须是引用
诸如此类的很多情况,都必须用引用,而不是指针。
一个体系,有两种指针,
事情只会变得更加复杂,而不会变得更简单。
2)C++引用,有一个确定的对象,因此不会有空的引用
2.1) 假如允许引用其他对象的话,就会忍不住让他称为空指针一样的东西(空引用?)
2.2)引用初始化,用的是= ,对引用的对象赋值,也是 =
假如允许改变所引用的对象,= 是不能够承担这项任务的,于是
必须有 = 以及,另外一个赋值号 ,表示引用绑定对象这个功能。
这增加了语言的复杂性,更不好用了。
本人猜是这样的

20

假如要更改可以使用指针
引用编译器也是通过指针实现的,只不过加了一些语言级别的限制,使得引用用起来更方便,也更安全

10

引用会影响对象生存期。假如引用编译时不能确定引用生存期结束时被引用的对象是谁,问题就会变得很糟糕

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C++为什么不允许引用更改指向对象
喜欢 (1)
[1034331897@qq.com]
分享 (0)