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];//有的环境下,输出1
6 }

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

猜你喜欢

转载自www.cnblogs.com/St-Lovaer/p/12216057.html
STL