gpt4 book ai didi

c++ - 会在动态中重复分配一个 char 数组导致问题吗?

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

C++伪代码

char* data = new char[determine_size()];
// ... do some stuff with data
delete[] data;
// ... repeat process

所以基本上,数据每次都被重复分配到一个不同大小的新数组中。尽管每次以前的分配总是首先取消分配。

会不会造成内存碎片?

我不太熟悉 C++ 中的内存管理;我的直觉告诉我这不是个好主意。

最佳答案

你问,

“Would this lead to memory fragmentation?”

好吧,内存分配对于碎片化的发生是必要的,但这还不够

它取决于,取决于很多因素,包括分配模式和内存管理器。

如前所述,这个问题确实无法回答。

但还是可以给出一些好的建议。

不要使用原始数组和new,而是使用例如std::vectorstd::string

关于c++ - 会在动态中重复分配一个 char 数组导致问题吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14179102/

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