
STL
Vigor
微信
schrodingerman
展开
-
STL实现机制及其特点
1.vector(动态数组) vector支持随机存取。 vector在末端增加或删除元素时性能相当好,在前端或中部做以上操作则效率比较低,因为操作点以后的所有元素都需要移动到另外一个位置。因此,当要插入多个元素时,调用一次比调用多次效率快。 vector高效的原因在于配置了比其所容纳的元素更多的内存。内存重新配置会花很多时间。请关注capacity()成员函数。 2.deques(动转载 2012-04-14 21:25:31 · 837 阅读 · 0 评论 -
<algorithm.h>中sort对结构体排序的用法
sort好用大家都知道的,废话不多说。 试过直接用数组,是会出现问题的,所以建议和容器一起用。 下面提供一种用法例子 #include #include #include #include using namespace std; struct Pearls { int value; int amount; }; bool cmp(struct Pearls a, st原创 2012-05-08 12:25:21 · 7147 阅读 · 1 评论 -
STL vector assign函数用法
vector::assign //用来构造一个vector的函数,类似于copy函数 void assign( size_type _Count, const Type& _Val); //_Count指要构造的vector成员的个数, _Val指成员的数值,他的类型必须与vector类型一致! template void assign( InputIterator _F转载 2012-06-01 21:20:59 · 7145 阅读 · 2 评论 -
模板类中使用非基本数据类型时的限制(这篇文章有点乱说,别见怪)
模板类在使用非基本数据类型有两个限制: (1)必须有一个默认构造函数,即参数列表为空的构造函数(否则会出现构造函数无法匹配的错误)。 (2)必须支持复制运算符(没有涉及深拷贝不用担心,C++默认支持浅拷贝)。 实例源代码如下: 代码用到了非基本类型string,所以必须添加默认构造函数,否则编译错误。 #include #include using namespace std;原创 2012-05-18 23:43:54 · 951 阅读 · 0 评论