string s = "abc";
cout<<s.at(10)<<endl;//[]訪問越界會掛掉,at會拋出異常
vector常用API
//逆序遍歷
void test(){
vvector<int> v;
for(int i = 0; i < 10; i++)
v.push_back(i);
for(vectro<int>::reverse_iterator it = v.rbegin(); it != v.rend(); i++)
cout<<*it<<" ";
cout<<endl;
}
vector單向開口,deque雙向開口
stack沒有迭代器
queue
list每插入或者刪除一個元素,就配置或者釋放一個元素的空間,插入刪除都是常數時間
list是循環的雙向鏈表
list不向vector可以用普通普通指針作爲迭代器,提供的是BidirectionalIterators,list迭代器不支持隨機訪問
swap交換
reverse倒序
remove可以刪除非自定義的數據類型
這裏要加const,不然認爲你可以改掉p而報錯
L.remove(p1);
set中不允許兩個元素有相同的值,關聯式容器,自動排序
multiset允許重複
對組pair
map容器