您的位置:首页 > 大数据 > 人工智能

pair 与 make_pair

2015-11-05 00:07 465 查看
<span style="font-family: Arial, Helvetica, sans-serif;">// pair简单讲就是将两个数据整合成一个数据</span>
// 本质上是有first, second两个成员变量的结构体
//make_pair就是构造pair对象的意思
#include<iostream>
#include<map>
#include<string>

void test_pair()
{
// pair两种构造的方法
// 方法1
std::pair<std::string, double>("This is a StringTest0.", 9.7);	// 浮点数默认是double, float的话有会警告。
std::pair<std::string, double> pA("This is a StringTest.", 9.7);
// 方法2
std::pair<std::string, double> pB;
pB = std::make_pair("This is a StringTest.", 9.9);

// pair的输出
std::cout << pA.first << std::endl;
std::cout << pA.second << std::endl;

// 结合map的使用
std::map<std::string, double> mA;
mA.insert(pA);
mA.insert(pB);

for (std::map<std::string, double>::iterator it = mA.begin(); it != mA.end(); ++it)
{
std::cout << "First Member:  " << it->first << std::endl;
std::cout << "Second Member: " << it->second << std::endl;
}
}
int main()
{
test_pair();
return 0;
}




// make_pair example
#include <utility>      // std::pair
#include <iostream>     // std::cout

int main() {
std::pair <int, int> foo;
std::pair <int, int> bar;

foo = std::make_pair(10, 20);
bar = std::make_pair(10.5, 'A'); // ok: implicit conversion from pair<double,char>

std::cout << "foo: " << foo.first << ", " << foo.second << '\n';
std::cout << "bar: " << bar.first << ", " << bar.second << '\n';

return 0;
}




原文链接:http://blog.csdn.net/huang_xw/article/details/8201671
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: