包含对的Multimap?

BSc*_*ker 3 c++ stl stdmap multimap std-pair

多图可以包含在其中吗?IE,而不是被定义multimap<char,int>为例如,它将被定义为multimap<pair, pair>?

然后如何对这个多重图进行排序?另外,如何访问每对中的各个内容?

Vik*_*ehr 9

多图可以包含在其中吗?

是的可能.

然后如何对这个多重图进行排序?

通过键/第一对(即,首先由第一对的第一元素,然后由第一对的第二元素).

另外,如何访问每对中的各个内容?

multimap<pair <T1, T2>, pair<T3, T4> >::iterator it = mymultimap.begin();
it->first.first;
it->first.second;
it->second.first;
it->second.second;
Run Code Online (Sandbox Code Playgroud)

换句话说,对的多重映射完全按预期工作!

更新: 此外,我想补充一点,我不鼓励使用成对的对,它使代码非常难以阅读,使用带有实际变量名的结构.

  • 你不应该定义operator <for`std :: pair`; 这不是你的类型.事实上,它已经定义了. (2认同)
  • @Artyom:operator <for std :: pair定义如我所说的,它比较first :: operator <,如果它们相等,则比较second :: operator < (2认同)