【发布时间】:2014-04-02 11:46:14
【问题描述】:
new/delete关键字使用免费商店
malloc/free关键字使用堆
我看到某处写着new 使用malloc。怎么会这样?它们不在内存段中使用?
其次,我看到某处写着我们不能在new 之后使用free 或在malloc 之后使用delete。但是如果new 使用malloc 为什么free 将不起作用?
以及我们在new 等之后使用free 的地方。这是错误还是未定义的行为?
谢谢
【问题讨论】:
-
这是一个简单的黑盒抽象。
new可能会使用malloc,但你不能依赖它。另外,malloc不会调用析构函数。 -
但他们使用其他内存段?他们怎么能一起工作?
-
耐心点,不要重复你的问题。
-
@asafapp:向下滚动。
标签: c++ memory-management