C++ realloc 性能 vs malloc

pou*_*yan 2 c++

首先,我知道我错了,但我不知道我的错是什么。根据此链接,关于“realloc”,它说

即使该块被移动到新位置,内存块的内容也会保留到新大小和旧大小中较小的一个。如果新的大小更大,则新分配的部分的值是不确定的。

因此,如果我们使用“realloc”来为数据分配新的位置,它会将以前的数据复制到新的位置。因此,如果这是真的,我很想知道使用free+malloc代替 realloc 不是更好吗?因为我认为当我们考虑性能时,将以前的数据复制到新位置并不是一个好主意。

任何人都可以帮我找出我的错误在哪里吗?提前致谢。

Ed *_*eal 6

使用realloc- 它对堆的结构有更好的了解,因此会尽量避免进行复制。

每次都进行 malloc/copy/free 并没有这种性能增强