话说vector

来源:互联网 发布:智慧芽数据库 编辑:程序博客网 时间:2024/06/01 23:31
1、把vector当数组看吧(实际数组是静态空间,配置后不能改变,但vector可以改变),读取跟数组一样,是常量时间。所以有了fornt(),back(),operator[]操作;


2、因为vector可改变大小与位置,于是比数组的操作多出了:insert(),erase(),resize(),push_back(),pop_back()等操作,这些操作或使空间重新分配,或使数据移动,所以执行这些操作要重新获取迭代器再对其进行操作;


3、vector的迭代器,想想数组指针能做什么操作就可以了,双向迭代器(前向迭代器、反向迭代器),随机迭代器;


4、vector的push_front(),pop_front()呢?vector就是array,new/malloc/realloc的结合体,new/realloc后,好像只能从“屁股”后面插吧!实在不行,看到vector就摸摸屁股,自然就懂了。


5、STL规范:
A、插入:查到标出所插节点的前方
B、容器迭代器遵循:前闭后开规范,比如 *begin()的值存在,*end()的值不存在。
0 0
原创粉丝点击