为“delete[]”操作存储数组元数据
C 中的“delete[]”运算符负责释放分配给一个数组,但它不明确要求数组的大小作为操作数。这就提出了一个问题:“‘delete[]’如何确定它尝试释放的数组的大小?”
要理解这种机制,认识内存分配器的作用至关重要。当使用“new”运算符在堆上分配内存时,内存分配器会管理分配的内存并跟踪其大小。此信息通常存储在分配内存之前的“头”段中。
对于数组,头段包含数组中的元素数量,允许“delete[]”运算符确定需要释放的数组的大小。这种标准化使“delete[]”运算符能够成功释放正确的内存量,即使没有明确指定数组的大小。
以上是`delete[]` 如何知道要释放的数组的大小?的详细内容。更多信息请关注PHP中文网其他相关文章!