Objective-C++ C++ 对象析构函数

fba*_*ipe 5 c++ objective-c objective-c++

我有一个 Objective-C 类,其中一个变量是 C++ 对象(我的大部分代码是 C++,但我需要一些 ObjC 类来与 iOS 库集成)。Objective-C++ 是否保证在销毁Objective-C 对象时C++ 对象会被正确销毁?

一些示例代码:

class MyCppClass {
    // ...
};

@interface MyObjCClass : NSObject {
    MyCppClass myCppObject; // is it ok to do it?
}

// ...

@end
Run Code Online (Sandbox Code Playgroud)

chm*_*eee 5

是的。-dealloc调用该方法后,会调用一个隐藏的.cxx_destruct方法。此方法调用所有具有析构函数的实例变量的所有析构函数。