- 21 名前:デフォルトの名無しさん [2007/04/12(木) 19:06:41 ]
- 下記のコードで
A( 1 ) in block A( 2 ) ~A( 1 ) out block ~A( 2 ) みたいな出力を期待したのですが、違いました。 ばぐですか? ソース: struct A { A(const int id) : id_(id) { cout << "A( " << id << " )" << endl; } ~A() { cout << "~A( " << id_ << " )" << endl; } int id_; }; int main() { boost::shared_ptr<A> a(new A(1)); boost::weak_ptr<A> wa(a); cout << "in block" << endl; if( boost::shared_ptr<A> aa = wa.lock() ) { aa.reset(new A(2)); } cout << "out block" << endl; return 0; }
|

|