pair 與 make_pair

<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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章