gpt4 book ai didi

c++ - 是否有按主键和副键排序的容器?

转载 作者:行者123 更新时间:2023-11-30 04:18:23 25 4
gpt4 key购买 nike

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

我希望能够做这些事情:

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;

输出将是:

apple
orange
pear

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

是否有一些具有类似功能的免费容器?

最佳答案

对于 STL,您可以制作一个键为一对的映射:

std::map< std::pair<int, int>, std::string > container;

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

关于c++ - 是否有按主键和副键排序的容器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16446235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com