《C++标准程序库》读书笔记 2012-07-14 推荐前置式递增或者递减
2012-07-14 03:18
363 查看
在使用iterator的过程中,推荐前置式递增或者递减。
书中是这样描述的,对于前置式递增(preincrement)++pos,比后置式递增(postincrement)pos++效率高。后者需要一个额外的临时对象,
因为它必须存放迭代器的原本位置并将其返回,所以一般情况下最好使用++pos,不要用pos--
从stl的源码可以对上述建议进行佐证:
const_iterator& operator++()
{ // preincrement
_Inc();
return (*this);
}
const_iterator operator++(int)
{ // postincrement
const_iterator _Tmp = *this;
++*this;
return (_Tmp);
}
第二个是后置式的一种源码实现,使用了临时对象_Tmp。
书中是这样描述的,对于前置式递增(preincrement)++pos,比后置式递增(postincrement)pos++效率高。后者需要一个额外的临时对象,
因为它必须存放迭代器的原本位置并将其返回,所以一般情况下最好使用++pos,不要用pos--
从stl的源码可以对上述建议进行佐证:
const_iterator& operator++()
{ // preincrement
_Inc();
return (*this);
}
const_iterator operator++(int)
{ // postincrement
const_iterator _Tmp = *this;
++*this;
return (_Tmp);
}
第二个是后置式的一种源码实现,使用了临时对象_Tmp。
相关文章推荐
- 《C++标准程序库》读书笔记 2012-06-19 对于类内部的静态成员、常量成员或者静态常量成员
- 前置(后置)递增(递减)(读书笔记)
- oracle 判断一行数据中多列的值是否呈递增趋势(或者递减趋势)
- js一元操作符之递增递减操作符的前置型与后置型详解
- 协同过滤算法的高级课题---《推荐系统技术、评估及高效算法》---读书笔记(5)
- <Power Shell>06获得一台计算机或者服务器的AD 站点名称 推荐
- hdu 6148 数位DP(板子 递增递减
- 读书笔记 effective c++ Item 9 绝不要在构造函数或者析构函数中调用虚函数
- 读书笔记 effective c++ Item 9 绝不要在构造函数或者析构函数中调用虚函数
- C中的指针(递增,递减,相加,相减)
- nyoj195&&nyoj201(递增递减dp)
- 【java基础】自动递增和递减
- 一个数组的值先从小到大递增后从大到小递减,找出最大的值
- 《精通Unix下C语言编程与项目实践》读书笔记(1) 推荐
- 推荐《认知与设计――理解UI设计准则》读书笔记
- 个性化推荐读书笔记
- 大学刚毕业找什么类型的公司好?成熟的大公司或者创业型的公司 推荐
- Effective Java 读书笔记(三):用私有构造器或者枚举类型强化Singleton属性
- 递增进位制和递减进位制数
- js验证连续两位数字递增或递减和连续三位数字相同