more effective C++条款六解析
来源:互联网 发布:秒赞网哪一个源码好 编辑:程序博客网 时间:2024/05/23 12:37
区分前置increment与后置increment
区分前置与后置++,首先明确他们的操作符重载带来的写法上的不同:
class UPInt{public:UPint& operator++() {*this+=1;return *this}const UPInt operator++(int) { UPInt oldValue=*this;++(*this);return oldValue;}}值得注意的就是两个地方,一就是操作符重载的形式后置的++会在后面添加int,虽然没有被使用。
第二个值得注意的是operator++(int)返回的是一个const 因为类似UPInt++++的行为是不被允许的(内置类型int 也不允许++++,另外这样就算可以也会造成不明确,只会加一次,所以说返回const UPInt)。
从代码中我们可以发现,后置的效率显示式没有前置的高的,所以在程序行为一致的情况下,建议使用的是前置的++。
阅读全文
0 0
- more effective C++条款六解析
- 《effective C++》条款六
- more effective C++条款一解析
- more effective C++条款二解析
- more effective C++条款五解析
- more effective C++条款十解析
- more effective C++条款十二解析
- 《More Effective C++》35个条款
- [More Effective C++]条款十九:理解临时对象的来源
- [More Effective C++]条款一:指针与引用的区别
- [More Effective C++]条款十九:理解临时对象的来源
- more effective c++条款总结
- 《More Effective C++》学习心得(六) auto_ptr的用法
- effective C++ 条款六解读
- Effective C++:条款01
- Effective C++:条款02
- Effective C++:条款03
- Effective C++:条款04
- PAT 1012 排序
- java中System.exit()方法
- [LeetCode] 3. Longest Substring Without Repeating Characters
- Android Studio AIDL实现
- jpg读取exif属性值
- more effective C++条款六解析
- git log的简化及美化
- web启动spring过程
- vimの可视模式
- 【CS 3287】货车运输-2013年NOIP全国联赛提高组(最大生成树)
- 操作系统找不到已输入的环境选项解决方案
- hdu 6156 回文数 数位dp
- 【数字图像处理】灰度变换函数(对数变换、反对数变换、幂次变换)
- springmvc controller层接收List类型的参数