whi*_*kar 1 c++ memory memory-leaks memory-management
所以我想知道如果我把'\ 0'放在"malloc"ed内存的中间会发生什么.
我遇到了这个问题.释放char数组时内存泄漏
在Jesse Good的回答中,它说这行将打印出"malloc"内存的大小.
std::cout << *((std::size_t*)arr - 1) << std::endl;
Run Code Online (Sandbox Code Playgroud)
这是否意味着如果我修改((std :: size_t)arr - 1)的值,当我调用"free"时将释放的内存大小将不同并且如果修改后的值小于原值?
你所指的答案是误导性的.阅读接受的答案.
确实,如果您的系统使用某些内存分配器,则可以读取size_t内存块之前的值以确定该块的大小.然而:
不要在分配的区域之外读取或写入内存.
| 归档时间: |
|
| 查看次数: |
139 次 |
| 最近记录: |