ダングリングポインタはSEGVするという仕様なのに、なぜstd::moveは必要なのか?
メモリの不整合は呼び出し側の責任。呼び出し側が明示的に所有権を放棄するという仕様に対して
なぜmove(呼び出される側が暗示的にに所有権を取得する)という概念を追加したか?(いまこれにたいする回答を準備中)
moveは許可制なので、実装している段階でわかるから。
↓
2回目の利用(別ライブラリ)だった場合で1回目はエラーで気がつくが、2回目は意図せず呼ばれた場合は?
他のライブラリのために、所有権放棄を実装したら、第3のライブラリがそれを自由に呼び出せるのは望ましい実装か?
所有権を共有しようとしたら、占有されたでござる。
一緒に使おうね、って広場においておいたら、自宅に持ってかえられて、所有権を主張されたでござる
Permalink | 記事への反応(0) | 07:57
ツイートシェア