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