Objective-C++ C++ деструктор на обекти

Имам клас Objective-C, чиято една от променливите е C++ обект (по-голямата част от кода ми е C++, но имам нужда от някои ObjC класове за интегриране с библиотеки на iOS). Objective-C++ гарантира ли, че обектът C++ ще бъде правилно унищожен, когато обектът Objective-C бъде унищожен?

Примерен код:

class MyCppClass {
    // ...
};

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

// ...

@end

person fbafelipe    schedule 30.07.2012    source източник
comment
Докато не включите този хедър в нормален .m файл, трябва да сте добре.   -  person Richard J. Ross III    schedule 30.07.2012


Отговори (1)


да След извикването на метода -dealloc се извиква скрит метод .cxx_destruct. Този метод извиква всички деструктори на всички променливи на потребителския модел, които имат деструктор.

person chmeee    schedule 30.07.2012