正文

我所理解的指针和引用2007-01-24 10:37:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/goal00001111/22778.html

分享到:

指针和引用的对比

1.  指针存储的内容是其他对象(变量)的地址,使用指针来访问对象的成员函数和成员变量时,要使用“->”操作符;引用是对象(变量)的别名,使用引用来访问对象的成员函数和成员变量时,就像使用对象本身一样,使用“.”操作符。从这个角度来说,使用引用要比指针简洁得多。

2.  引用被创建的同时必须被初始化我们不能创建一个引用,过一会再初始化它(如果是类的话,在构造函数中使用初始化列表初始化);而指针则可以在任何时候被初始化。

3.  引用只能被初始化一次,一旦它们被初始化为一个特定的对象,它们就不能被改变了;指针则可以随时改变所指的对象。从这个意义上来说,引用像const的指针。

4.  不能有NULL引用,引用必须与合法的存储单元关联;指针则可以是NULL。

5.  引用不能像指针那样new或者delete,从这个意义上来说,它们像一个对象。

6.  当调用函数时,按引用或者指针传送比按值传送要节约一大比开支,同时允许改变实参。如果不允许改变实参,请将它们const。一个细微但是很明智的建议,当不允许函数改变某对象是,用const限定的引用就可以了,当需要改变的时候就用指针。

7.  一个好的原则是尽量使用引用,但有些情况下必须使用指针:如果一个对象需要动态创建或者销毁,应当使用指针。此外,指针可以改变指向的对象,指针可以为空,指针可以参与一些数学运算等,都是使用指针的理由。

 

阅读(2576) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册