码迷,mamicode.com
首页 > 其他好文 > 详细

引用的存在价值

时间:2015-07-19 13:30:18      阅读:88      评论:0      收藏:0      [点我收藏+]

标签:cc++

实际上“引用”可以做的任何事情“指针”也都能够做,为什么还要“引用”这东西?

答:“用适当的工具做恰如其分的工作”

分析:

    ①一般而言,当你需要考虑“不指向任何对象”的可能性时,或者是考虑“在不同时间指向不同对象”的能力时,你就应该采用指针。 前一种情况可以将指针设置为 null, 后一种情况可以改变指针所指向的对象。


    ②而当你确定“总是会代表某个对象”,并且“一旦代表了该对象就不再能够改变”,那么就应该选引用。


    ③还有其它情况也需要使用引用,比如当你实现某些操作符的时候。最常见的例子就是下标运算符operator[]。这个操作符很特别地必须返回某种能够被当做赋值对象的东西:
vector<int> v(10);
v[5] = 10;
*v[5] = 10;

    如果 operator[]返回的是指针,上面最后一个语句就必须写成这样子,这不是取下标操作符的自然直观的使用方式,所以,取下标操作符最好返回对象的引用。

版权声明:本文为博主原创文章,未经博主允许不得转载。

引用的存在价值

标签:cc++

原文地址:http://blog.csdn.net/meetings/article/details/46953831

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!