小编典典

delete[] 如何“知道”操作数数组的大小?

all

Foo* set = new Foo[100];
// ...
delete [] set;

您不会将数组的边界传递给delete[]. 但是这些信息存储在哪里?是否标准化?


阅读 100

收藏
2022-04-29

共1个答案

小编典典

当您在堆上分配内存时,您的分配器将跟踪您分配了多少内存。这通常存储在您分配的内存之前的“头”段中。这样,当需要释放内存时,解除分配器确切地知道要释放多少内存。

2022-04-29