gpt4 book ai didi

C:提前分配内存还是按需分配内存?

转载 作者:太空狗 更新时间:2023-10-29 15:14:33 26 4
gpt4 key购买 nike

我有一个简单(可能)的问题要问你。在 C 中创建自己的动态数组实现时,是在数组接近达到其当前最大容量时提前分配内存(假设为 10 个元素)更好,还是在每次元素计数发生变化时重新分配内存?

我的意思是:性能、优雅或您想到的任何东西。

最佳答案

通常的选择是将当前大小乘以一个大于 1 的固定数(1.5ish 很常见,2 也是如此),这样可以分摊 O(n) 总分配和复制成本。

请注意,不能保证您可以就地增加数组的大小,因此您可能必须将所有现有元素复制到新位置(realloc() 会自动为你,但你仍然需要支付费用)。

关于C:提前分配内存还是按需分配内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1960094/

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