c++ - DLL 新建/删除是否覆盖用户代码新建/删除?

标签 c++ visual-c++

伙计们, 如果我在我的 dll 代码中覆盖全局新建和删除,这会覆盖用户代码新建和删除吗? 我做了一个测试,显示用户new和delete不会受到影响。 如果我想让用户代码new和delete被我的sdk new/delete替换,怎么做。

模板类是什么情况。模板类定义包括一些新建/删除。用户代码可能会实例化它。那么,它可能会使用用户新建/删除,对吧?

最佳答案

不,在 Windows 上每个 DLL 都有自己的 operator new()/operator delete()。但是你应该小心 - 如果某些 DLL new 是一个对象,该对象应该使用相同的 operator delete() deleted - 否则你遇到未定义的行为。

关于c++ - DLL 新建/删除是否覆盖用户代码新建/删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5802005/

相关文章:

c++ - 具有 invoke_result 的重载命名非成员函数的返回类型

c++ - 为什么没有对uint8进行优化?

java - 使用 JNI 将列表 <unsigned char*> 从 C++ 返回到 Java

c++ - 如何返回与函数在同一类中声明的结构?

c++ - 将 VC++ 6.0 转换为 VC++ 2005

visual-studio - 可以停止由 VIsual Studio 2015 生成 *.ipdb *.iobj 文件吗?

c++ - OpenGL - 2D敌人不旋转面对玩家

c++ - 为 iOS 4.x 使用 Boost 和 C++0x 方言

c++ - MSVC C6029 警告 : possible buffer overrun, 使用未经检查的值。检查缓冲区大小时警告不会消失

c++ - 如何在 .h 文件中定义函数体?