std::auto_ptr が使いづらいという話を時々聞いていて,代わりに,参照カウンタ付きの boost::shared_ptr が便利だよ,という話もよく聞きます。たしかに,少し遅いものの,参照カウンタ付きのポインタってのは便利です。 一方で,std::auto_ptr は,考え方(設計思想)がいまいち分かりづらいから,不便だとか言われちゃうのかな,とも。例えば,こちらの話のような。コードはリンク先を参照してください。 auto_ptrはそのままポインタ型(BIGSTRUCT*)としては渡せず、 get()関数を呼ぶ必要があります。イヤですね。透過的でありません。でも、これは意図的なのです。 (snip) bar()内では、 引数として渡されたptrから新しいptr_barにメモリのアドレスが渡されます。しかしこれがくせ者で、 bar()から抜けるときにはこのptr_barが削除されて