16.8.3【set和multiset区别、pair对组的创建】

复制代码
 1 #include<iostream>
 2 #include<cstdlib>
 3 using namespace std;
 4 #include<set>
 5 #include<string>
 6 
 7 
 8 /*
 9     3.8.6 set和multiset区别
10 
11         set不可以插入重复数据,而multiset可以
12         set插入数据的同时会返回插入结果,表示插入是否成功
13         multiset不会检测数据,因此可以插入重复数据
14 
15     3.8.7 pair对组的创建
16 
17         功能:成对出现的数据,利用对组可以返回两个数据
18         pair<type, type> p (value1, value2);
19         pair<type, type> p = make_pair(value1, value2);
20 */
21 
22 
23 void test386()
24 {
25     set<int> s;
26     pair<set<int>::iterator, bool> ret= s.insert(10); //set的insert有返回值,为pair对组类型
27     if(ret.second)
28     {
29         cout << "插入成功" << endl;
30     }
31     else
32     {
33         cout << "插入失败" << endl;
34     }
35 
36     ret = s.insert(10);
37     if(ret.second)
38     {
39         cout << "插入成功" << endl;
40     }
41     else
42     {
43         cout << "插入失败" << endl;
44     }
45 
46 
47     multiset<int> ms;
48     //multiset允许插入重复值
49     ms.insert(10);
50     ms.insert(10);
51     //multiset的insert有返回值,为迭代器iterator
52     for(multiset<int>::iterator it=ms.begin(); it!=ms.end(); it++)
53     {
54         cout << *it << " ";
55     }
56     cout << endl;
57 }
58 
59 
60 void test387()
61 {
62     pair<string, int> p("tom", 20);
63     cout << "name:" << p.first << " age:" << p.second << endl;
64 
65     pair<string, int> p2 = make_pair("amy", 18);
66     cout << "name:" << p2.first << " age:" << p2.second << endl;
67 }
68 
69 
70 int main()
71 {
72     test386();
73     cout <<endl;
74     test387();
75 
76     system("pause");
77     return 0;
78 }
复制代码

 

posted @   yub4by  阅读(96)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示