Foo* set = new Foo[100];
// ...
delete [] set;
您不会将数组的边界传递给
delete[]
。但是这些信息存储在哪里?它是标准化的吗? 最佳答案
在堆上分配内存时,分配器将跟踪已分配的内存量。这通常存储在分配您的内存之前的“head”段中。这样,当需要释放内存时,解除分配器就会确切知道要释放多少内存。
关于c++ - delete [] “know”如何操作数数组的大小?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/197675/