【问题标题】:Objective-C++ C++ object destructorObjective-C++ C++ 对象析构函数
【发布时间】:2012-07-30 16:00:02
【问题描述】:

我有一个 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

【问题讨论】:

  • 只要您不在普通的.m 文件中包含该标头,就可以了。

标签: c++ objective-c objective-c++


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2011-03-09
    • 1970-01-01
    • 1970-01-01
    • 2022-01-23
    • 2018-03-02
    • 2018-12-21
    • 1970-01-01
    • 2016-12-28
    • 1970-01-01
    相关资源
    最近更新 更多