区别:
- set不可以插入重复数据,而multiset可以
- set插入数据的同时会返回插入结果,表示插入是否成功
- multiset不会检测数据,因此可以插入重复数据
测试代码
#include <iostream>
using namespace std;
#include <set>
//set和multiset区别
void test01()
{
set<int> s;
pair<set<int>::iterator, bool> ret = s.insert(10);
if (ret.second) {
cout << "第一次插入成功!" << endl;
}
else {
cout << "第一次插入失败!" << endl;
}
ret = s.insert(10);
if (ret.second) {
cout << "第二次插入成功!" << endl;
}
else {
cout << "第二次插入失败!" << endl;
}
//multiset
multiset<int> ms;
ms.insert(10);
ms.insert(10);
for (multiset<int>::iterator it = ms.begin(); it != ms.end(); it++) {
cout << *it << " ";
}
cout << endl;
}
int main() {
test01();
system("pause");
return 0;
}
测试结果

总结
- 如果不允许插入重复数据可以利用set
- 如果需要插入重复数据利用multiset
本文详细解析了C++中set与multiset的使用差异,强调了set不允许重复元素且插入操作返回结果,而multiset允许重复元素。通过示例代码展示了如何在不同场景下选择使用set或multiset。

216

被折叠的 条评论
为什么被折叠?



