简介:我正在编写一个C++11应用程序,它广泛使用了遗留的C代码库。遗留代码中一个非常常见的模式是存在一些structLegacyStruct这是通过诸如之类的方法构造和销毁的build_struct(LegacyStruct*L,intarg1,intarg2)free_struct(LegacyStruct*L)基本上是构造函数/析构函数。遗留代码库中的所有权模型非常unique_ptr-esque,所以我的目标是将它包装在一个内存安全的、支持RAII的包装类中,如下所示:classWrapper{public:Wrapper::Wraper():handle(){}Wrapper