<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