我正在从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排序。
有没有一些免费提供的类似功能的容器?
发布于 2013-05-09 01:04:36
对于STL,您可以创建一个映射,其中密钥是一对:
std::map< std::pair<int, int>, std::string > container;您可能仍然可以将该对用于Qt容器,尽管您将不会拥有与您所建议的完全相同的接口。
https://stackoverflow.com/questions/16446235
复制相似问题