Effective STL-尽量使用区间操作代替单元素操作
来源:互联网 发布:战略规划 知乎 编辑:程序博客网 时间:2024/06/02 00:24
一、原因:
1、代码更少,更简洁;
2、 对序列容器,还可以避免单个单个申请造成多次分配内存(拷贝开销大)
二、区间操作:
1)区间构造:
container::container(InputIterator begin,InputIterator end);
2)区间插入:
对于序列容器:
void Container::insert(Iterator positon,//插入位置 InputIterator begin, //目标起点位置 InputIterator end); //目标终点
对于关联容器(他们不需要指定位置,位置有他们自己机制决定)
void Container::Insert(InputIterator begin,InputIterator end);
3)区间删除:
对于序列容器:
iterator Container:erase(Iteraor begin,Iterator);
对于关联容器:
void Container::erase(Iterator begin,Iterator end);
4)区间赋值
void Container::assign(InputIterator begin,InputIterator end);
三、 实例
给两个vector,v1和v2,使v1得内容为v2后半部分。
方法一:
v1.assign(v2.begin()+v2.size()/2,v2.end());
方法二:
v1.clear();v1.insert(v2.begin()+v2.size()/2,v2.end());
方法三:
v1.clear();copy(v2.begin()+v2.size()/2,v2.end(),back_insert(v1);
0 0
- Effective STL-尽量使用区间操作代替单元素操作
- STL高效编程( 五)-尽量使用区间操作函数来代替单元素操作函数。
- Effective STL: 尽量使用区间成员函数代替它们的单元素兄弟
- Effective STL: 尽量使用区间成员函数代替它们的单元素兄弟
- 条款5:尽量使用区间成员函数代替它们的单元素兄弟
- 尽量使用区间成员函数代替它们的单元素兄弟
- 尽量使用区间成员函数代替它们的单元素兄弟
- effective STL - 尽量使用vector和string来代替动态分配的数组(char *)
- Effective STL 13 尽量使用vector和string来代替动态分配的数组
- 复习 Effective STL 第五条 区间成员函数优先于与之对应的单元素成员
- 《Effective STL》读书笔记七:Item 13:尽量使用vector和string来代替动态分配的数组 Item 14: 使用reserve来避免不必要的内存重分配
- 尽量使用new/delete操作符,而不是malloc/free来分配内存-------Effective C++学习笔记
- 《Effective STL》读书笔记三:Item 5(区间成员函数优先于与之对应的单元素成员函数)
- Effective STL 第5条:区间成员函数优先于与之对应的单元素成员函数
- 尽量使用前自增操作符
- 不会改变操作对象内容的STL算法(元素查找,序列查找,统计元素个数,比较区间,找最值)
- 使用WHILE代替游标的遍历操作
- 为什么要尽量使用PreparedStatement代替Statement?
- 802 协议集
- 基于朴素贝叶斯判断垃圾短信
- 如何更加深入的了解网站用户行为
- Qt程序加载外部字体
- C++Notes04_类及其函数
- Effective STL-尽量使用区间操作代替单元素操作
- CentOS6.5x64使用Samba架设公共盘-匿名访问
- Ubuntu系统清理瘦身
- ionic开发——自定义等待动画$ionicLoading
- Activity管理类,用于Activity管理和退出
- Web系统大规模并发——电商秒杀与抢购
- Vue- v-html指令
- NIO框架之MINA详解
- Oracle数据库SQL语句学习