gpt4 book ai didi

c++ - 定义 vector 的 unordered_map 的最佳方法

转载 作者:太空狗 更新时间:2023-10-29 20:41:31 24 4
gpt4 key购买 nike

定义一个 std::unordered_map 在性能方面是否相同?像这样

unordered_map<int, std::vector<ClassA>>

像这样?

unordered_map<int, std::unique_ptr<std::vector<ClassA>>>

对于 std::vector<ClassA>部分,我正在使用 std::move无论如何。

最佳答案

鉴于 unordered_map 从不移动/复制其节点,它们在复杂性方面应该同样快。但请记住

std::unordered_map<int, std::vector<ClassA>>

当你想访问 vector 的数据时少了一个间接:

std::unordered_map -> [node -> std::vector] -> data

内部节点可能包含 vector 。奥托:

std::unordered_map<int, std::unique_ptr<std::vector<ClassA>>>

结果

std::unordered_map -> [node -> std::unique_ptr] -> std::vector -> data

现在节点仅包含 std::unique_ptr,需要实际取消引用才能到达 std::vector

关于c++ - 定义 vector 的 unordered_map 的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21072701/

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