Мультикарта, содержащая пары? - PullRequest
3 голосов
/ 23 июня 2010

Может ли мультикарта содержать в себе пары? IE, вместо того, чтобы быть определенным как multimap<char,int>, например, это будет определено как multimap<pair, pair>?

Как тогда будет сортироваться эта мультикарта? Кроме того, как можно получить доступ к индивидуальному содержимому каждой пары?

1 Ответ

9 голосов
/ 23 июня 2010

Возможно ли, чтобы мультикарта содержала в себе пары?

Да, это возможно.

Как бы тогда была отсортирована эта мультикарта?

По ключу / первой паре (т. Е. Сначала по первому элементу первой пары, затем по второму элементу первой пары).

Кроме того, как можно получить доступ к индивидуальному содержимому каждой пары?

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

Другими словами, мультикарта пар работает точно так же, как и ожидалось!

Обновление: Кроме того, я хотел бы добавить, что я не рекомендую использовать пары пар, это делает код очень трудным для чтения, вместо этого используют структуры с реальными именами переменных.

...