读书人

C++ 数据成员什么时候该应用引用什么

发布时间: 2013-04-09 16:45:09 作者: rapoo

C++ 数据成员什么时候该使用引用,什么时候该使用指针?
我觉得除了自己分配内存的memeber应该用指针其他情况都应该尽量使用引用,各位大侠有什么见解?
[解决办法]
尽可能先考虑简捷地使用“引用”,不能用“引用”或引用不方便时再“考虑”指针。

[解决办法]
Move Effiective C++ 第一条就有
使用指针:
一、是你考虑到存在不指向任何对象的可能
二、是你在不同时刻指向不同的对象
如果你总是指向一个对象并且一旦指向的对象后就不会改变指向,那么你应该使用引用
当你知道必须指向一个对象并且不想改变其指向时,或者在重载操作符并为防止不必要的语义误解时,
你不应该使用指针。而除此之外的其它情况下,刚应该使用指针
[解决办法]
C++设计哲学就是用“引用”代替“指针”,即能使用“引用”的时候就不使用“指针”。
其实,“引用”在现代编译体系结构下底层实现就是一个“指针”,但是其类型安全由编译器替你去完善,比如你可以引用”空指针“,但是如果你使用“空引用”在编译器就不会通过,所以说用引用更安全也更方便。
对于多态,很多人认为只有指针才能实现,其实用引用也是正确的,要是还不明白就看看《Inside The C++ Object Model》

读书人网 >C++

热点推荐