何时(如果有的话)可以在 C++ 中互换使用delete
?free
我的担忧如下:假设malloc
/free
和
new
/的使用有不正确的混淆delete
(更不用说new[]
/了delete[]
)。但是delete
,free
做同样的事情;
幸运的是,这在测试中没有被发现。稍后这可能会导致生产崩溃。
我怎样才能执行某种检查来防止这种情况发生?如果两者混淆了,我会被警告吗?如果不是在编译时,也许是在运行时进行一些代码检测?我将如何处理这个?
这个问题的目的是找到避免无意中混淆用法的方法。