2010/02/18

shared_ptr

http://cpplover.blogspot.com/2010/02/sharedptr.html

何がまずいのか全く分からない…
unique_ptr が静的なデリータを持つことのほうが、設計としては問題なんじゃないのかなあ。勿論 unique_ptr がインターフェースとして使われることはまずありえないから困ることはあまりないはずだし、カスタムデリータも欲しいし別にいれちゃっていいよね、ってことで入ったんだと思うけれど。気持ちは分かる。

shared_ptr の設計方針は非常によく考えられた結果のものなので(インターフェース & 柔軟性第一)、それをたかが unique_ptr ごときのために変えるとかは危険が危なすぎると思う。imihu。第一、shared_ptr はその所有権を「参照カウンタ」という自身のもつ仕組みで監理しているのに対して unique_ptr はその所有権を「値が一つであること」と「ムーブコンストラクタ」という言語の機能によって監理するので、完全に合理的な併用は「値が一つであること」という unique_ptr の前提を何とかしな限り、なんともできないというのは非常に自明なことだと思うのだけれど。

勿論動的なデリータは柔軟な運用が可能なので、例えばそれが安全だと分かっているなら null-deleter なんかでその場を凌ぐとか、やりようはいくらでもある。

まあ何かこの人が本当に 0x 本書くんかーという気持ちにはなるなああまりにも何言ってんだ的な。コメントレスもよくわからない。よく知らないけれどこんないい加減なこと言う人だったっけ…

profile


niha

http://niha28.sakura.ne.jp/