#include <iostream>
#include <vector>
#include <array>
#include <algorithm>
#include <typeinfo>
using namespace std;
pair<int, string> hanshu() {
pair<int, string> p(45, "fasd");
auto p2 = make_pair(45, "afsdf");
return p;
}
class foo {
public:
foo() {
cout << "fd" << endl;
}
};
foo f1() {
return foo();
}
int main() {
pair<int, string> p1 = hanshu();
cout << p1.first;
cout << get<1>(p1)<<endl;
//调用tuple_like接口
//tuple_element<0, pair<int,string>>::type;
cout << tuple_size<pair<int, string>>::value<<endl;
float a = 56.15;
string s = "Fdsd";
auto ps = make_pair(move(a), move(s));
//被传递的实参类型a不使用。例如第一个是float类型,则下一条make_pair()语句不在使用a
// 传递45.6则pair 第一个参数类型是double;
auto ps1= make_pair(56.23,450);
cout<<typeid(ps1.first).name()<<endl;
//pair对象之间的比较,从第一元素开始比较(具有较高优先级)
pair<int ,float> p11(45,56);
pair<int ,float> p112(450,56);
cout<<(p11>=p112)<<endl;
//不定个数,参数类型的逐块化pair构造函数
return 0;
}