C++ 前置与后置“重载运算符”(++i 与 i++)的区别
来源:互联网 发布:硕放菜鸟网络招聘 编辑:程序博客网 时间:2024/05/20 07:50
More Effective C++ NO.6 笔记:++i 与 i++,前置与后置“重载运算符"的区别
// 前置++i -----------先++,再调用(一致)UPInt& UPInt::operator++(){ *this += 1; return *this;// 或return ++privateVal;}//后置 i++ -----------先调用原值,再++const UPInt UPInt::operator++(int){ UPInt oldValue = *this; ++(*this); return oldValue;}
区别如下:
1. 参数
前置()
后置(int)
2. 返回值
前置int&
后置 const int// const是为了防止i++++运算的结果并非预期。
3. 函数体
后置调用前置 // 这样只需要维护前置运算符的代码即可。
步骤:1. 保留旧值到oldvalue; 2. 增加旧值++(*this);3. 返回保留的旧值return oldValue
4. 优先用哪个
因后置会构造并析构oldValue临时对象,故比前置效率低。即优先用前置++i。
0 0
- C++ 前置与后置“重载运算符”(++i 与 i++)的区别
- 自增运算符前置与后置区别(i++,++i)
- ++运算符的重载前置与后置
- 前置与后置运算符的区别
- 前置运算符与后置运算符的区别
- 操作符重载前置和后置的区别与实现
- 后置运算i++;前置运算i++
- C++中前置++与后置++运算符重载
- 前置++与后置++重载
- [C++] C++的运算符重载(+、-、前置--、后置--,前置++,后置++、==)
- [C++] C++的运算符重载(+、-、前置--、后置--,前置++,后置++、==)
- ++/--前置与后置的区别
- 运算符前置++和后置++的重载
- 前置和后置++运算符的重载
- 实现前置与后置递增(递减)运算符的重载
- c加加+-*/前置++后置++运算符重载
- c++ 前置++与后置++的区别
- C++重载++ 如何区分“++”重载的前置与后置
- 收集eclipse所有的设置,使用技巧
- java8 初学者教程 第一天
- CSS中的position的属性
- USB设备枚举[转载]
- [置顶] 深入浅出 Map 的实现(HashMap、HashTable、LinkedHashMap、TreeMap)
- C++ 前置与后置“重载运算符”(++i 与 i++)的区别
- 动态编译-反射调用
- 佳佳的魔法照片-ssl 1255
- 关于防APK反编绎查看源代码和获取图片资源
- [LeetCode]11. Container With Most Water
- pyqt4 QDial QSpinBox
- 日期时间格式化
- 浅谈算法和数据结构: 二 基本排序算法
- 局域网时间同步NTP服务架设