objective-c ++の混乱

私は客観的に何ができるのかといういくつかの小さな疑問を持っています。

私は何かを移植しようとしています、誰かが私に答えることができたら大好きです

このクラスがあるとしましょう

a.h

    class bedInfoLayer : public Layer
{
public:
    a() { bclass = [[b alloc] init]; }
private:
    b* bclass;


};

私はこれを持っている

b.h

@interface b {
    a *ainstance;
}
@end

@implementation b
- (id)init {
    if(self = [super init]) {
        ainstance = new a();
    }
    return self;
}
@end

誰かが私を助けて何ができるのか、何ができないのかを指摘してくれることを願っています。第2のものが最も適切に機能しますが、最初のものを恐れています。

1

1 答え

コードはメモリを適切に解放しません。しかし、Objective C ++ではObjective-CオブジェクトをC ++に割り当てることは全く正当です。逆もまた同様です。

2
追加された
Objective-C ++はプロジェクト設定で明示的に有効にする必要がありますが、それだけです。
追加された 著者 StilesCrisis,
また、終了したらオブジェクトを必ずリリースしてください。
追加された 著者 StilesCrisis,
こんにちは私はa.hで行われたことを行うことができませんでした、あなたは確認することができます、特別な設定は、ありがとう
追加された 著者 shbli,
私はxCode 4上で、それを行う方法、事前に感謝
追加された 著者 shbli,
ありがとう、実装ファイルを.cppから.mmに変更しました。今、動作します、ありがとう、これは巨大な時間を節約します:)
追加された 著者 shbli,
LOL、ええ、心配しないでくださいそれは単なる例だった:D
追加された 著者 shbli,