ハムスターに飼われる院生のブログ

自分用メモが中心のブログです。

mapのキーにvectorを用いた場合のmapの挙動確認

mapのkeyとしてvectorを用いた場合、vectorの0番目の要素の大きさでソートされることを確認した。
確認した際のサンプルコードは以下の通り。

int main()
{
	map<vector<double>, int> test;
	vector<double> vec1;
	vec1.push_back(10.0);
	vec1.push_back(100);

	vector<double> vec2;
	vec2.push_back(2.0);
	vec2.push_back(500);

	vector<double> vec3;
	vec3.push_back(3.0);
	vec3.push_back(5);


	test.insert(std::make_pair(vec1, 3));
	test.insert(std::make_pair(vec2, 100));
	test.insert(std::make_pair(vec3, 8));

	//mapの中身を全てcoutで確認
	for (auto itr = test.begin(); itr != test.end(); ++itr) {
		std::cout << "key = (" << itr->first[0] << " , " << itr->first[1] << ")";
		std::cout<< "\t" << ", value = " << itr->second << endl;
	}
	cout << endl;

	return 0;
}

出力は以下の通り。

key = (2 , 500) , value = 100
key = (3 , 5) , value = 8
key = (10 , 100) , value = 3