割り当てられた構造体'オブジェクト'の参照カウントの基本は、私には非常に簡単に思えます。新しいオブジェクトに1のRCを与えます。割り当て時に、古いオブジェクトのRCをデクリメントし(RC = 0の場合は解放)、割り当てられたオブジェクトのRCをインクリメントします。スコープを離れるすべてのオブジェクトのRCをデクリメントします。
ただし、RCされたオブジェクトが関数に渡されたり、関数から返されたりするときに何をする必要があるのか、少し戸惑っています。各関数呼び出しの前後にRCをinc/decする必要がありますか?必要に応じてincとdecをどこに配置する必要がありますか(関数内の開始と終了、または関数呼び出しの前後ですか?)?関数によって返されるRCされたオブジェクトはどうですか?