引用与指针有什么区别 指向数组的指针
首先,引用必须被初始化,指针不必。
其次,引用不可以为空,但指针可以为空。
引用是对象的别名,引用为空——对象都不存在,怎么可能有别名!故定义一个引用的时候,必须初始化。
其次, 引用初始化以后不能被改变,指针可以改变所指的对象。
再次,引用的大小是所指向的变量的大小,因为引用只是一个别名而已;指针是指针本身的大小,4个字节
最后,引用比指针更安全。由于不存在空引用,并且引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用,
因此引用很安全
指针和引用的相同点和不同点:
★相同点:
●都是地址的概念;
指针指向一块内存,它的内容是所指内存的地址;而引用则是某块内存的别名。
★不同点:
●指针是一个实体,而引用仅是个别名;
●引用只能在定义时被初始化一次,之后不可变;指针可变;引用“从一而终”,指针可以“见异思迁”;
●引用没有const,指针有const,const的指针不可变;(具体指没有int& const a这种形式,而const int& a是有 的, 前者指引用本身即别名不可以改变,这是当然的,所以不需要这种形式,后者指引用所指的值不可以改变)
●引用不能为空,指针可以为空;
●“sizeof引用”得到的是所指向的变量(对象)的大小,而“sizeof指针”得到的是指针本身的大小;
●指针和引用的自增(++)运算意义不一样;
●引用是类型安全的,而指针不是(引用比指针多了类型检查
更多阅读
苹果iphone5与iphone4S有什么区别? 苹果 iphone 4s
iphone4s是在2011年10月上市发型的智能手机,iphone5是12年9月发布的新一代智能手机。两者时间相差约1年。那么两者之间到底有哪些区别呢?或者说iphone5在4S的基础上有哪些进步呢?下面我们就来讨论一下。当然,一些具体数据在中关村等等
MP4和MP5有什么区别?什么是MP5? mp4与mp5有什么区别
?????? ?随着平板电脑的流行,曾经辉煌一时的MP4就变得有些凄凉了。不过MP4由于小巧精灵实惠依然受到不少学生喜爱。从MP3到MP4再到现在的MP5我们也可以看到数码产品在不断升级。近段时间有不少学生朋友问笔者MP5是什么?MP4与MP5有什么
水货和行货有什么区别 怎么区分行货和水货
水货和行货有什么区别——简介水货指在某国家或地区没有经过原生产厂家所指定的销售代理而进行销售的产品。水货不是假货。“水货”一词的由来,是因为早期走私者为逃避关税等原因,将国外船运过来的商品用塑料袋等密封好后投入约定的浅
借记卡和信用卡有什么区别 借记卡和储蓄卡的区别
借记卡和信用卡有什么区别——简介借记卡和信用卡有何不同?借记卡和信用卡的区别是什么呢?为了让卡友们分期借记卡和信用卡,来为卡友们详细介绍一下。借记卡和信用卡有什么区别——方法/步骤借记卡和信用卡
苹果iPhone4S与iPhone4有什么区别 苹果4和4s屏幕一样大吗
3毫米改变,iPhone 4S详细对比黑白iPhone 4,如果用一句话来总结iPhone 4S外型上的变化——iPhone 4S确实没啥变化! 下面给大家分析一下苹果iPhone4S与iPhone4区别有哪些?苹果iPhone4S与iPhone4有什么区别——区别苹果iPhone4S与iPhone4