C/C++何时使用引用和指针

如题所述

这个问题不太容易严格区分,不过可以简单说一下。

指针:大家都知道,指向一个内存地址。但同时请注意一个东东,就是指针的步长(我叫它步长)其实就是指针的类型。C/C++中,类型转换对于指针来说同样适用,也就是可以改变步长。所以它比较特别,灵活性很大。更特别的一点是:它可以什么也不指向,就对着NULL/0。

引用:它的局限性要大很多,它只是一个对象的别名。这个别名的意思就是“它是依赖别的对象存在现而存在,它不会独立存在!”。所以请特别注意,引用必须指向一个已经存在的对象,不可以凭空存在。

明显的区别:
指针不依赖于对象的存在而存在,就是可以“凭空存在”;而引用不能“凭空存在”,必定指向一个对象。

一般来说,能用引用的地方,用指针也可以。但是指针太灵活(它可以指向NULL),然而如果此时提取指针对象就会出现“不明确行为”的严重错误。然而用引用就不会出现这样的错误,因为引用必须指向一个已经存在的对象,它不会为空。

想说也就是这么多了,希望你多多使用就能多多体会了。
温馨提示:答案为网友推荐,仅供参考
相似回答