Att*_*Kun 1 c++ dynamic-memory-allocation
我知道你必须这样做:
int * p;
p = new int[10];
//use array
delete [] p;
Run Code Online (Sandbox Code Playgroud)
现在我的问题是:由于没有明确说明,如何释放正确的内存量?操作系统是否跟踪分配的内存及其起始地址?
是的,操作系统(或更可能是图书馆)跟踪.
当你分配内存时,操作系统会为你的内存创建一个小标题,这通常就在你分配的内存之前 - 也就是说,在一个稍微低一点的地址上.
释放内存时,它会释放释放的指针,返回几个字节,并检查描述实际分配内容的结构,包括分配的大小.
| 归档时间: |
|
| 查看次数: |
219 次 |
| 最近记录: |