スマートポインタの使い方を学び、所有権を理解しようとしています。を値で関数に渡すauto_ptrと、関数はそのポインターの排他的所有権を取得します。したがって、関数が終了すると、渡したポインターが削除されます。
ただし、を使用してこれを実行しようとすると、 sのunique_ptrコピー割り当てが無効になっているかのように、コンパイルエラーが発生しますunique_ptr。参照によってを渡すunique_ptrことは所有権を譲渡するようには見えません、それは単に関数にへの参照を与えるだけunique_ptrです。
auto_ptrsで動作するように関数に所有権を渡すことで、の動作を取得するにはどうすればよいunique_ptrですか?に関する詳細なチュートリアルへのリンクをいただければ幸いunique_ptrです。これまでのところ、私が読んだものは、Boostで利用可能なスマートポインターについてのみ話しているか、話しているようであり、それをカバーしているためauto_ptr無視しているようです。unique_ptrshared_ptr