-
STL提供六大组件:
容器containers:
算法algorithms:
迭代器iterators:
仿函数functors:
配接器adapters:
配置器allocators: -
只在函数内部使用的函数可以用_advance()表示,前面加_符号,特定的前导符
list不能使用STL算法sort(),必须使用自己的sort() member function,因为STL算法sort()只接受RandomAccessIterator
对deque进行的排序操作,为了最高效率,可将deque先完整复制到一个vector身上,将vector排序后(利用STL sort算法),再复制回deque
面对关联式容器(set等),应该使用其所提供的find函数来搜寻元素,回比使用STL算法find()更有效率,因为STL算法find()只是循序搜寻
企图通过迭代器来改变set元素时不被允许的(read-only)对于map,不能修改键值,会破坏map组织,但可以修改元素的实值
map以RB-tree为底层机制,几乎所有的map操作行为,都只是转调用RB-tree的操作行为
map会根据键值按某种顺序排序
遍历:(自动按键值排序)
map<string, int>::iterator simap_iter = simap.begin();for (; simap_iter != simap.end(); ++simap_iter)
cout << simap_iter->first << " " << simap_iter->second << endl;multiset允许值重复,multimap允许键值重复
int ia[] = {22, 30, 30, 17, 33, 40, 17, 23, 22, 12, 20};
vector<int> iv(ia, ia + sizeof(ia) / sizeof(int));
一、STL概论与版本简介
最新推荐文章于 2021-01-21 11:25:30 发布