【发布时间】:2012-02-05 00:46:06
【问题描述】:
我有两个类,base_class 和 derived_class 以及以下代码:
base_class *ptr = new derived_class;
delete ptr;
这段代码会产生内存泄漏吗?如果有,应该怎么处理?
【问题讨论】:
-
代码无法编译。我建议先通过编译器传递它。更好的是:
base_class* ptr = new derived_class(); -
如果
base_class没有虚拟析构函数,这将触发未定义的行为 (§5.3.5/p3)
标签: c++