用自定义构造函数初始化c++类的实例作为Objective C类成员



有没有办法呢

class A {
    int _v;
    A(int v) : _v(v) {}
};
@interface  B : NSObject {
    A a;
}
@end
除了

>一个*

std:: unique_ptr一个 ?

不幸的是,当你分配一个Objective-C类时,所有"c++类型成员变量"的默认构造函数都会被调用。使用指针或unique_ptr保持c++类实例的长度,并在Objective-C init方法中调用带参数的构造函数是处理这种情况的常用方法。

最新更新