如何在其中有一对的地图中访问
How to access in map having a pair inside it
我正在使用里面有一对的地图,
但无法弄清楚如何使用 map
的迭代器访问
我的地图声明
map<ll,pair<ll,ll> > val;
map<ll,pair<ll,ll> > ::iterator it;
我用来访问插入值的是
cout<<it->first<<" " <<it->second->first<<" " <<it->second->second<<endl;
但编译器显示此错误
error: base operand of '->' has non-pointer type 'std::pair<long long unsigned int, long long unsigned int>'|
使用.
访问一对元素。
cout<<it->first<<" " <<it->second.first<<" " <<it->second.second<<endl;
使用->
访问指针指向的元素,使用.
访问成员变量。在这种情况下,map
是一个容器,pair
是一个结构,因此您必须使用 .
.
访问两者的元素
cout << it->first << " " << it->second.first << " " << it->second.second << endl;
您还可以 return 将值配对。
map<ll,pair<ll,ll> > val;
auto [pair_first_element,pair_second_element]=val[key_value];
我正在使用里面有一对的地图, 但无法弄清楚如何使用 map
的迭代器访问我的地图声明
map<ll,pair<ll,ll> > val;
map<ll,pair<ll,ll> > ::iterator it;
我用来访问插入值的是
cout<<it->first<<" " <<it->second->first<<" " <<it->second->second<<endl;
但编译器显示此错误
error: base operand of '->' has non-pointer type 'std::pair<long long unsigned int, long long unsigned int>'|
使用.
访问一对元素。
cout<<it->first<<" " <<it->second.first<<" " <<it->second.second<<endl;
使用->
访问指针指向的元素,使用.
访问成员变量。在这种情况下,map
是一个容器,pair
是一个结构,因此您必须使用 .
.
cout << it->first << " " << it->second.first << " " << it->second.second << endl;
您还可以 return 将值配对。
map<ll,pair<ll,ll> > val;
auto [pair_first_element,pair_second_element]=val[key_value];