私はこれが必要ではないと思います。 Objective-C++では、ブリッジはまったく必要ありません。 C++クラスが定義されている場合、Objective-C++コードのどこでもそのクラスを使用できます。たとえば、メソッド内:
- (void)myObjCMethod {
Foo myFoo;
myFoo.someMethod();
//etc.
}
あなたはC++のクラスを指すインスタンス変数を持つことができるので、私は、テンプレートことができるとは思わない
@interface Bar : NSObject {
Foo *foo;
}
@property (assign) Foo * foo;
@end
@implementation
@synthesize foo;
- (void)dalloc {
delete foo;
[super dealloc];
}
- (id)init {
if(self = [super init]) {
foo = new Foo();
}
return self;
}
- (void)aMethod {
self.foo->barMethod();
}
ようにあなたは、Objective-Cのクラスを定義することができますObjective-Cのメソッドですが、Objective-C++のC++テンプレートのインスタンス化は公正なゲームです。 Objective-CはCの厳密なスーパーセットと同じように、Objective-C++はObjective-Cスタイルのクラスとメッセージの受け渡しを追加するC++のスーパーセットです。
Objective-Cのオブジェクトモデルでは、複数の継承や演算子のオーバーロードなどがサポートされていないため、C++クラスを「ブリッジ」したい場合は一般的に問題があります。