Man*_*uel 4 c++ memory heap malloc memory-management
我有一个C++程序,可以在不同长度的输入数组上对各种算法进行基准测试.它看起来或多或少像这样:
# (1)
for k in range(4..20):
# (2)
input = generate 2**k random points
for variant in variants:
benchmark the following call
run variant on input array
# (3)
Run Code Online (Sandbox Code Playgroud)
是否可以将(2)处的整个堆管理重置为它在(1)处的状态?在程序期间分配的堆上分配的所有内存都保证在(3)处被释放.
我在Linux上使用g ++ 4.3.
编辑:我知道C/C++中没有真正的垃圾收集.我想强制内存分配加入它在(2)的空闲列表中的相邻空块内存.