Foo* set = new Foo[100]; // ... delete [] set;
您不会将数组的边界传递给delete[]. 但是这些信息存储在哪里?是否标准化?
delete[]
当您在堆上分配内存时,您的分配器将跟踪您分配了多少内存。这通常存储在您分配的内存之前的“头”段中。这样,当需要释放内存时,解除分配器确切地知道要释放多少内存。