gpt4 book ai didi

c++ - 使数组更节省内存

转载 作者:太空宇宙 更新时间:2023-11-04 14:33:19 25 4
gpt4 key购买 nike

我是一名 C++ 初学者,目前我正在开发一个哈希表以适应该语言(线性哈希)。

为此,我制作了一个名为“Bucket”的内部类。

class Bucket {
public:
Bucket* nextBucket;
size_type currentUsedFields;
key_type fields[BUCKET_SIZE];
(...)
}

现在我想知道,是否可以提高内存效率,因为这个 key_type 数组确实会一次性分配所有内存,而不是在真正需要时分配。有没有正确的方法来做到这一点?

我认为 key_type 对象将不再有效,如果我不将它复制到数组中的话。所以保存指向对象的指针并不是一个真正的选择,是吗?

key_type* add(const key_type& key)

我希望你能给我一些提示,告诉我如何进行更多的内存优化编程。我也期待进一步的改进。这是我写的代码: https://pastebin.com/NnucGm35

最佳答案

,要走的路是 std::vector .每次必须创建一个字段时,您只需将该字段推回到 vector 中即可。

关于c++ - 使数组更节省内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44610089/

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