C++は難しすぎ 難易度:2
■ このスレッドは過去ログ倉庫に格納されています
0364361
NGNG以下のような管理の使い分けをしている。
(依存、関連、集約、コンポジションぐらいは理解しているよね)
[依存]
ケース1 :
あるメソッドローカルでつかわれるインスタンスで
メソッドをぬけるとインスタンスが不要になる場合。
auto_ptrかscoped_ptrをつかう。
ケース2 :
あるメソッドの引数として渡されるインスタンス。
渡されたインスタンスはそのメソッドの中でしかつかわれない。
この場合は生ポインタ。理由はインスタンスの寿命にメソッドは
関知しないためスマートポインタにする意味がない。
[単項関連]
ケース1 :
格納するクラスがインスタンスの寿命の管理をしないといけない場合。
この場合はauto_ptrかscoped_ptrかshared_ptr。
ケース2 :
格納するクラスがインスタンスの寿命に関知しない場合。
この場合は生ポインタかweak_ptr。
■ このスレッドは過去ログ倉庫に格納されています