【发布时间】:2017-01-02 16:38:49
【问题描述】:
在最近的一次采访中,面试官问我是否可以使用 free() 来释放之前使用 new 分配的空间。我的回答是肯定的。 :|
我知道这对像 malloc() - free() & new - delete 一样工作。
但是由于两者都使用了一些指针机制,那么混合它们有什么问题呢?
必须有可能在混合两对时实现解除分配。可能吗?即使在理论上? 混合它们的可能场景是什么?
如果可以做到前面所说的,那我们为什么要引入 delete 和 new 呢?
请就这个主题给我启发,如果有任何可用的 new/delete/malloc/free 源代码或任何全面的指南来掌握这个特定主题,请提供链接。
- 我的另一个好奇心是,删除的注意事项和问题是什么?
【问题讨论】:
-
是的,但没有涵盖最后一点。以及使用它们的可能场景。
-
What is the difference between new/delete and malloc/free? 这个问题和其他可以轻松查找的问题对此进行了广泛的讨论。
-
还要考虑
delete和delete[]之间的区别。
标签: c++ c heap-memory dynamic-memory-allocation