现有 n 个结构体,均采用 new
方法申请内存得到。结构体之间以指针形式连接,内存块与它们之间的指针构成类似 DAG 的结构。已知所有入度为 0 的内存块的内存位置。
本人之前尝试从每个入度为 0 的内存块开始深搜释放内存块内存。由于在搜索过程中可能会到达已经被释放过的内存块,本人尝试在下放过程和 delete
过程中插入 try catch
块但看起来并没有捕捉到错误,自然二次 delete
了已经被 delete
过的块,造成运行时错误。
请问有没有方法在借助低于 O(n) 级别的辅助变量的情况下通过 delete
方法释放这些内存块。