我在很多书中看到这样的引用,C/C++ 中数组的主要问题之一是:
Arrays needs a contiguous block of memory
我真的不明白为什么数组的这个特性会被认为是一个问题?我认为编译器可以管理数组并为其分配正确的大小,那么问题是什么?
最佳答案
当您考虑内存碎片的情况时,您可能无法找到满足整个数组大小要求的空闲内存块。
这在某些分配/释放方案中尤其容易看到,其中数千个可变大小的对象被快速分配和释放,这可能会在可用内存中留下多个漏洞(取决于所使用的策略) 。此时,不合时宜地分配大对象可能无法找到任何可用空间。
关于c++ - 为什么 "Arrays needs a contiguous block of memory"是 C/C++ 中数组的坏点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18025447/