STL学习总结之初入容器

来源:互联网 发布:好听的淘宝收件人名字 编辑:程序博客网 时间:2024/06/05 17:33

1.      STL基本观念

2.      vector将其元素置于一个dynamicarray中加以管理。

3.      所有顺序容器提供push_back成员函数,所有容器提供size成员函数。

4.      dequedynamic array实现。提供push_front成员函数。

5.      list采用双向链表实现。提供push_frontpush_backfrontpop_frontbackpop_back成员函数。

6.      string相当于vector<char>,使用方法同vectorarray不是容器类型,也不提供迭代器类型,通过下标模拟迭代器,但兼容STL算法;动态数组在c++中不再需要,因为vector相当于动态数组。

7.      关联容器通常都有二叉树实现,具体就是红黑树。setmultisetmapmultimap实现自动排序。

8.      容器适配器共三个:提供特殊用途,stackqueuepriority_queue

9.      迭代器是一种智能指针,提供了指针的部分通用操作。最终要的迭代器是beginend

迭代器有iterator(可读写)和const_iterator(只读)两种。每种容器定义自身的迭代器。

10.  关联容器没有push_back成员函数,通过insert成员函数完成插入操作。

11.  Vector<vector<int>>注意右边的两个>>之间要有空格,否则会被编译器识别为右移位运算符。

12.  make_pair函数返回key/value对组。

13.  map可以使用[]操作符,multimap不可以使用[]操作符。

14.  迭代器分类:双向迭代器和随机存取迭代器。

双向迭代器:提供简单的++操作

随机存取迭代器:类似于指针,提供与指针对等的操作。

原创粉丝点击