首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有按主键和副键排序的容器?

是否有按主键和副键排序的容器?
EN

Stack Overflow用户
提问于 2013-05-09 00:59:49
回答 1查看 412关注 0票数 1

我正在从Qt库中寻找类似QMultiMap的东西,但是有两个密钥。

我希望能够做到以下几点:

代码语言:javascript
复制
template<TPrimaryKey, TSecondaryKey, TItem>
class Container;
...
Container<int, int, std::string> container;
container.insert(2, 2, "pear");
container.insert(1, 1, "apple");
container.insert(1, 2, "orange");
for (auto it = container.begin(); it != container.end(); ++it)
    std::cout << *it << std::endl;

输出结果为:

代码语言:javascript
复制
apple
orange
pear

也就是说,项目根据TPrimaryKey排序,当有更多具有相同TPrimaryKey的项目时,它们将按TSecondaryKey排序。

有没有一些免费提供的类似功能的容器?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-09 01:04:36

对于STL,您可以创建一个映射,其中密钥是一对:

代码语言:javascript
复制
std::map< std::pair<int, int>, std::string > container;

您可能仍然可以将该对用于Qt容器,尽管您将不会拥有与您所建议的完全相同的接口。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16446235

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档