c++ - Auto_ptr 到外部 C 结构

标签 c++ memory destructor auto-ptr

我想为遗留的 C struct; 创建一个 Auto_Ptr 我只有头文件和静态库,所以我不能修改源代码。我想知道如果我调用 p.release()auto_ptr 不会自动尝试调用 Destructor ~foo() p.reset()? C struct 不存在此析构函数。我目前的解决方案是编写一个 C++ 包装器类来呈现 一个析构函数接口(interface)(在内部它使用库特定的 C 方法来释放内存和销毁其他资源)。有更好的方法吗?还是这个问题已经被 Boost 等解决了?

最佳答案

用c++编译时仍然存在隐式析构函数,所以没问题。如果结构分配了 new,即。

关于c++ - Auto_ptr 到外部 C 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11685372/

相关文章:

ios - iOS drawInRect内存泄漏-ARC

派生类中构造函数和析构函数的 C++ LNK2019 错误

未调用 C++ 析构函数,具体取决于链接顺序

python - 构造函数和析构函数如何工作?

c++ - 指向 std::vector 的指针

c++ - C++动态数组将每次添加的大小增加1-错误

c++ - 在类构造函数中调用命名 lambda 与调用实际私有(private)函数的优点

c++ - 如何将 istream 与字符串一起使用

java - 如何调试和调整我的 jenkins maven 构建的内存设置

jquery - 我应该使用卸载事件吗?