gpt4 book ai didi

c++ - 具有 vector 键的高效 C++ 关联容器

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:34:52 25 4
gpt4 key购买 nike

我构建了一个以 vector 作为键的 map :map<vector<KeyT>, T>我现在正在尝试对其进行优化。

手动嵌套 map 的实验 map<vector<KeyT>, map<KeyT,T> >其中第一个键是原始 vector 减去最后一个元素,第二个键是最后一个元素显示了合理的加速。

现在我想知道是否存在关联容器的半标准实现(如 boost 或类似的),其中 vector 键被实现为容器的层次结构。

理想情况下,这将创建与键 vector 中的元素一样多的层,同时为不同长度的 vector 保持统一的语法。

最佳答案

您确定需要优化吗? std::string 基本上就像一个 std::vector,我们愉快地使用 std::string 作为数组键!

您分析过您的代码吗? std::map 不会不必要地复制它的键/值对——你到底在害怕什么?

你的 vector 键是固定大小的吗? std::tuple 在这种情况下可能会有所帮助。

如果不是,根据 key 的长度对容器进行分区可能会有所帮助,尽管此类方案的有效性高度依赖于域。

关于c++ - 具有 vector 键的高效 C++ 关联容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6455181/

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