1. STL体系结构基础、容器之分类与各种测试

STL六大部件:

容器(Containners),分配器(Allocators),算法(Algorithms),迭代器(Iterators),适配器(Adapters),仿函数(Functors).

 

 前闭后开区间:

*(c.begin())指向第一个元素

*(c.end())指向最后一个元素的后一个位置

 

容器结构与分类:

序列容器:

Array(C++ 11 提供) ,Vector,Deque,List,Forward-List(C++11提供)

关联容器:

Set/MultiSet,Unordered Set/MultiSet,Map/MultiMap,Unorder Map/MultiMap(C++11提供,Hash Table实现)

 

 

 

array:

array<int,ASIZE> c;

c.szie();

c.front()

c.back();

c.data() ;返回第一个元素地址

 

vector:

 v.pushback(Arg);//空间不够之后两倍扩展

v.size()

v.front()

v.back()

v.data()

v.capacity()

 

list:

l.push_back()

l.size()

l.max_size() 

l.front()

l.back()

l.sort()

 

forward_list

f.push_front()

f.max_size()

f.front()

 

deque:

 

d.push_pack()

d.size()

d.front()

d.back()

d.max_size()

 

 

stack:容器的适配器(使用deque)

s.push()

s.size()

s.top()

 

queue:容器的适配器(使用deque)

q.push()

q.pop()

q.size()

q.front()

q.back()

 

set, 

multiset ,

hash_set

unordered_set,

hash_multimap

unordered_multiset

set<string> c;

c.insert("test");

c.szie()

c.max_size()

auto p=c.find("test");

if (p==c.end())

 

map,

multimap ,

hash_map

unordered_map,

unorder_multimap

hash_multimap

 

posted @ 2021-03-03 18:19  KnowledgePorter  阅读(14)  评论(0)    收藏  举报