C++相談室 part99
■ このスレッドは過去ログ倉庫に格納されています
0894デフォルトの名無しさん
2013/04/04(木) 02:59:09.26class N {
shared_ptr<N> p_;
N(shared_ptr<N> const& p) : p_(p) {}
};
shared_ptr<N> v(new N(shared_ptr<N>()); // ルートは親なし
for (int i=0; i<T; ++i) {
shared_ptr<Node>(new Node(v)).swap(v); // 前のノードが親
}
みたいにvを葉とする一本鎖を作った後、v.reset()で全ノードを連鎖的に解放したいのですが、
深さTが大きいと解放の連鎖が途中で止まってしまいます。(Tが小さいとうまくいく)
原因が分かる方いますか?
■ このスレッドは過去ログ倉庫に格納されています