- 45 名前:デフォルトの名無しさん mailto:sage [2010/03/24(水) 02:09:21 ]
- >>44
実行速度が気にならないなら全部shared_ptrで構わない。 shared_ptrを使った場合はプログラマが1個のshared_ptrからしか参照されないことを知っていたとしても 毎回参照カウンタを生成するため、そのためのオーバーヘッドが生じる。 unique_ptrは参照カウンタを使用しないため、1つからしか参照されないことが予め分かっているなら効率的。 また、shared_ptrの場合、一度ポインタをshared_ptrに格納してしまうとポインタの所有権を奪い返すことができない。 つまり参照するshared_ptrがなくなった時点でオブジェクトがdeleteされるのを止めることができない。 一方で、unique_ptrはrelease()によって所有権を放棄させることができる。 ぱっと思いつくのはこのくらい。
|

|