STL好坑

关于multiset,有如下结论:

1 multiset<int> s;
2 s.insert(3);
3 s.insert(3);
4 cout<<s.count(3);//结果输出2
5 s.erase(3);
6 cout<<s.count(3);//结果输出0

因此multiset模拟时应注意有几个。数据量小可以用哈希数组。

 

关于map,有如下结论:

1 map<int,int> mp;
2 int main(){
3     mp[-1]=1;
4     mp.clear();
5     cout<<mp[-1];//有的环境下,并不可靠
6 }

这说明map的clear是个坑,可以考虑用map.erase(map.begin(),map.end())。

posted @ 2020-01-19 23:53  Lovaer  阅读(125)  评论(0编辑  收藏  举报