私はObjective-CアプリケーションをC++に移植している最中であり、NSObjectやNSDictionaryに似たクラスを作成することにしました。このシステムに慣れていない場合、NSObjectは、すべてのオブジェクトがObj-Cでフォームを継承するオブジェクトであり、その中に参照カウントメカニズムがあります。参照がなくなると、オブジェクトはそれ自体を解放します。
私のコードでは、次のことができるようにしたいと思います
CMDictionary["Key"] = Object;
内部的には、これは次のように保存されます
Map<string, CMObject*> mDictionary
新しいオブジェクトがオブジェクトに割り当てられるたびに、ディクショナリは、retain関数を呼び出し、この新しいオブジェクトが置き換えられた可能性のあるオブジェクトに対してreleaseを呼び出すことにより、このオブジェクトを保持する必要があります。私の問題は、コードを実行して、割り当てで角かっこがいつ使用されているかを判断できないという事実に起因しています。
CMDicionary["key"]->StringValue();
とにかくこれを行うためにそこにありますか、それとも辞書を変更するためにゲッター/セッター関数を使用する必要がありますか?