![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
STL
zjh517
ScrumMaster Training - UPerform(优普丰顾问机构) (2010.03)
测试方法概论 - WSS 微胜思软件技术开发有限公司(2008.12)
Effective C++ Programming - (2009.09)
STL Training - SoftCompass(祝成科技) (2007-06)
展开
-
Remove实践之二
1.关联容器不能作为Remove 算法的目标容器,原因很简单,它可能改变元素的值或者位置,使得元素不再是排序好的状态,这样就打破了关联容器中元素必须是自动排序的规则。实际上对于关联容器的iterator,它对应的应该是一个常量(Key)。既然我们不能直接用算法操作关联容器,那我们如果remove关联容器中的元素呢?答案是用调用关联容器的成员函数!每个关联容器都提供了成员函数去remove 元素,比翻译 2010-01-18 21:04:00 · 336 阅读 · 0 评论 -
Remove实践之一
Remove方法用于从一个序列中移除指定的元素,下面的例子可能会出现意想不到的结果:#include #include #include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ list coll; // insert elements from 6 to 1 and 1 to 6翻译 2010-01-17 22:04:00 · 375 阅读 · 0 评论 -
函数对象vs普通函数
目的: 把一个集合中的所有元素都加上一个值。1. 如果在编译时就知道所要加上的那个特定的值,且在其他地方不会改变,那么就可以用普通的函数:void add5 (int& elem){elem += 5;}void fl(){vector coll;...for_each (coll.begin(), coll.end(),add5);} 2.如果在编翻译 2010-01-24 20:06:00 · 450 阅读 · 1 评论 -
Iterator adapter
Iterator Adapter 继承了通用iterator的接口,但是实现特定的业务逻辑。C++ STL 提供了三种类型的iterator adapters:1. Insert iteratorsInsert iterators 使algorithms 以insert的模式工作,而非overwrite, 比如在copy 算法中,应用insert iterators 我们可以不用car翻译 2010-01-09 21:11:00 · 426 阅读 · 0 评论 -
容器中的元素
作为STL容器中的元素需满足至少以下三个条件:1. 元素必须是可拷贝的通过拷贝构造函数。 通过拷贝得到的元素应该是和原来的元素等价的,这就意味着任何等于判断都应返回两者是相同的,而且两者的行为也是一样。实际上所有的容器都会在内部创建它们元素的拷贝,然后返回临时的拷贝(当需要提供给外界的时候),所以拷贝构造函数是被调用的很频繁的,因此拷贝构造函数需要特别注意性能问题,如果拷贝对象需要大量时间翻译 2015-01-29 23:52:49 · 412 阅读 · 0 评论