
STL
Captain_MXD
这个作者很懒,什么都没留下…
展开
-
STL中sort用法小实例
#include#include#includeusing namespace std;#define stlforeach(type,iter,container) type::iterator iter;for(iter=(container).begin();iter!=(container).end();++iter)struct Node{ int id;原创 2017-03-15 11:27:27 · 502 阅读 · 0 评论 -
Vector的size和capacity的区别
1.size指容器当前拥有的元素个数; capacity则指容器在必须分配新存储空间之前可以存储的元素总数 2.容器调用resize()函数后,所有的空间都已经被初始了,而reserve()函数预分配出的空间没有被初始化int main(){ vector v; v.reserve(100); v.resize(10); f原创 2017-04-20 11:27:19 · 764 阅读 · 0 评论 -
一个ItemBag类继承自Vector
#include#includeusing namespace std;struct Item{ int id; int price;};class ItemBag: protected vector{ public: ItemBag(size_t inisize,size_t maxsize); virtual ~ItemBag(); public: void原创 2017-04-20 12:43:10 · 737 阅读 · 0 评论 -
deque容器和list容器学习
1.deque简介:deque容器同样是一种顺序容器,什么是顺序容器呢?就是你可以了解你的元素的位置,你可以安排你的元素的位置。和vector相比,deque可以实现用常数的时间在容器头部插入元素。同样deque也没有容量的概念,这是因为deque可以动态地增加连续空间,而不需要像vector那样,因为之前的空间不够用,必须重新找一块内存,把数据拷贝过去,然后销毁之前的。虽然deque也提原创 2017-05-09 20:09:18 · 1056 阅读 · 0 评论 -
STL中的map使用
set(集合)——包含了经过排序了的数据,这些数据的值(value)必须是唯一的。map (映射)——经过排序了的二元组的集合,map中的每个元素都是由两个值组成,其中的key(键值,一个map中的键值必须是唯一的)是在排序或搜索时使用,它的值可以在容器中重新获取;而另一个值是该元素关联的数值。 map和set的底层都通过红黑树来实现的,红黑树现在不谈,有机会在整。 map原创 2017-05-12 10:30:56 · 686 阅读 · 0 评论 -
定义宏可以方便地访问stl容器
#define foreach(container,it) \ for(typeof((container).begin()) it = (container).begin();it!=(container).end();++it)使用这个宏,可以方便地访问stl容器。转载 2017-05-23 14:33:21 · 407 阅读 · 0 评论 -
vector容器学习
1. vector简介vector就是一个动态数组,所谓动态指的是它可以自动对内存进行扩展,一般情况下不存在空间不足的情形,(max_size()函数可以知道vector的可以存的最大数量)。而且,我们还不必要去动态地去费心地内存,这个东西很好用比数组好用多了。所以,只要是用到new T[ ] 来动态分配内存的时候,可以优先考虑使用这个容器。 2.Vector代码解析部原创 2017-05-08 20:21:32 · 707 阅读 · 0 评论 -
为包含指针的关联容器指定比较类型
Effective STL读书笔记今天看了一条,写下来当做笔记,其实挺好理解的,也挺简单的为包含指针的关联容器指定比较类型我们知道,当我们创建一个关联容器时,比如set或者map,它会要求 我们指定一个比较函数子类。如果我们不指定就会采用默认的比较函数子类,当然在某些情况下会产生错误。比如下面的代码int main(){ typedefset Strin原创 2017-05-20 21:28:39 · 404 阅读 · 0 评论