如何保留C++;内存中的对象? 对象Object C类中C++对象的对象生命周期是什么,如何保持它的内存? 我尝试了不透明结构,创建实例,但总是导致null。
您可以在Objto-C类中拥有C++对象,通过在C++代码中创建一个<代码> >新的<代码>实例,在您的代码> init < /C>方法中,将其分配给IVAR,然后在如何保留C++;内存中的对象? 对象Object C类中C++对象的对象生命周期是什么,如何保持它的内存? 我尝试了不透明结构,创建实例,但总是导致null。,c++,objective-c,ios,memory-management,C++,Objective C,Ios,Memory Management,您可以在Objto-C类中拥有C++对象,通过在C++代码中创建一个 >新的实例,在您的代码> init < /C>方法中,将其分配给IVAR,然后在 -DeLoC/,调用删除在IVAR上: @interface SomeClass : NSObject { SomeCPPClass *cpp_object; } @end @implementation SomeClass - (id) init { self = [super init]; if(self) {
@interface SomeClass : NSObject {
SomeCPPClass *cpp_object;
}
@end
@implementation SomeClass
- (id) init {
self = [super init];
if(self) {
cpp_object = new SomeCPPClass();
}
return self;
}
- (void) dealloc {
delete cpp_object;
[super dealloc];
}
@end
如果你的C++对象将有与包含它的ObjtoVc对象相同的生命周期,你可以简单地将C++对象(而不是指针)放在Objtovi-C类中:
@interface MyClass {
CppObject myObject;
}
@end
如何将它分配给ivar,你能给我更多的细节吗?这是我已经做过的,但它不起作用。这个类中的函数看到我的前一个问题了吗?构造函数会被调用吗?@WTP:是的,构造函数会被调用。它的行为与你期望C++对象的行为完全一样。