STL学习
未来取款机
这个作者很懒,什么都没留下…
展开
-
STL容器效率比较
1.vector(动态数组)vector支持随机存取。vector在末端增加或删除元素时性能相当好,在前端或中部做以上操作则效率比较低,因为操作点以后的所有元素都需要移动到另外一个位置。因此,当要插入多个元素时,调用一次比调用多次效率快。vector高效的原因在于配置了比其所容纳的元素更多的内存。内存重新配置会花很多时间。请关注capacity()成员函数。2.deques(动转载 2012-04-09 10:43:22 · 528 阅读 · 0 评论 -
vector作为参数传递到dll问题
template 是个好东西啊 . 经典的 stl . 强悍的boost. 还有我自己写的那个 ------- 该死的 ------- 资源管理器.dynamic link也是个好东西啊. 在windows下叫dll, 在unix下叫so (share object) . 它能省下很多重新发布软件带来的麻烦.但是当template 遭遇到dynamic link 时候, 很多时候却是一场恶转载 2012-04-09 10:45:19 · 409 阅读 · 0 评论 -
STL容器删除元素的陷阱
今天看Scott Meyers大师的stl的用法,看到了我前段时间犯的一个错误,发现我写的代码和他提到错误代码几乎一模一样,有关stl容器删除元素的问题,错误的代码如下:std::vector mFriendList;...std::vector::iterator iter = mFriendList.begin();for ( ; iter != mFriendList.end转载 2012-04-09 10:49:33 · 346 阅读 · 0 评论 -
STL简单学习
STL概述STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念,但这种分离确实使得STL变得非常通用。例如,由于STL的sort()函数是完全通用的,你可以用它来操作几乎任何数据集合,包括链表,容器和数组。要点STL算法作为模板函数提供。为了和其他组件相区别,在本书中STL算法以后接一对圆括弧的方式表示,例如sort()。STL另一个重要特性是它不是面向对象的。为了具有转载 2012-04-09 10:38:45 · 272 阅读 · 0 评论 -
STL函数对象及函数对象适配器
一函数对象FunctorSTL中提供了一元和二元函数的两种Functor,通过unary_function和binary_function提供了这两种不同参数数量的 Functor的基本结构,在这两个类型中,分别内嵌定义一元和二元函数操作在模版推演的时候需要用到的typedef. //一元函数的定义为templatestruct unary_function { typed转载 2012-04-10 16:38:12 · 373 阅读 · 0 评论