iOS 5 で導入される自動参照カウントにより、objective-c オブジェクトへのポインターはすべてスマート ポインターのように機能します。Retain/release 呼び出しは、明示的に弱い参照を宣言しない限り、割り当てと割り当て解除時にコンパイラによって合成されます。その場合、オブジェクトの割り当てが解除されると、それらは自動的にゼロになります。
私のアドバイスは、そのために数ヶ月待つことです. それまでの間、似たようなものをまとめることができるかもしれませんが、私はそれをお勧めしません. 一つには、それは醜いでしょう。例:
smart_ptr<id> array = make_smart_ptr( [NSMutableArray array] );
NSUInteger count = [array count]; // won't work.
count = [array.get() count]; // works, but yuck.
[array.get() setArray: anotherArray.get()]; // even more yuck.
また、ヘッダーが C++ クラスでいっぱいの場合、プロジェクト全体を Objective-C++ でコンパイルする必要があります。 -party フレームワークはそれで適切に動作します。コードを他の人と共有することは忘れてください。
このようなものを作るのは面白い練習になるかもしれませんが、実際に使いたいとは思わないでしょう。また、Objective-C でお気に入りの C++ を再作成したいという誘惑に気をつけてください。言語は大きく異なり、それを行うのに多くの時間を費やすことができます。つまり、C++ では実行できない、Objective-C で実行できるすべての優れた機能を学習するのに費やす時間ではありません。