set的插入和pair的用法
pair表示一个对组,它将两个值视为一个单元,把两个值捆绑在一起。
pair<T1,T2>用来存放的两个值的类型,可以不一样,也可以一样,如T1为int,T2为float。T1,T2也可以是自定义类。
pair.first是pair里面的第一个值,是T1类型。
pair.second是pair里面的第二个值,是T2类型。
运行环境: vc++ 2010 学习版
例子:
#include <set>
#include <iostream>
#include <functional>
#include <algorithm>
using namespace std;
int main()
{
set<int> setInt;
for(int i = 5; i > 0; i--)
{
pair<set<int>::iterator, bool> ret = setInt.insert(i);
if(ret.second)
{
cout<<"插入 "<<i<<" 成功! "<<endl;
}else
{
cout<<"插入 "<<i<<" 失败! "<<endl;
}
}
//bool ret = setInt.insert(5); 返回的并不是布尔类型
pair<set<int>::iterator, bool> ret = setInt.insert(5);
cout<<"第一个: "<<*(ret.first)<<endl;
cout<<"第二个: "<<ret.second<<endl;
system("pause");
return 0;
}
运行结果: