ニコライJosuttis氏は、彼の著書「C++標準ライブラリ - チュートリアルとリファレンス」には、44ページで、次の段落の書き込み:auto_ptrsの概念によるとauto_ptrへの定数参照を期待する関数にauto_ptrを渡す危険はありますか?
を、に所有権を移転することが可能です定数参照を使って関数を呼び出す。これは非常に危険です。なぜなら、オブジェクトは、定数参照として渡すとオブジェクトが変更されないことを通常期待しているからです。幸運なことに、auto_ptrsの危険性を低くした設計の遅れがありました。いくつかのトリッキーな実装技術によって、一定の参照で所有権の移転は不可能です。実際には、定数auto_ptr:…の所有権を変更することはできません。
定数参照を使用して所有権を変更できない場合、上記の「これは非常に危険です」と「危険性がより低い」という表現がなぜなのですか?コメントを合計
彼はconst参照でオーナーシップを変更することはできませんでした。 – ildjarn
@ildjarnしかし、この文はどうでしょうか?「幸いにも、auto_ptrs **の危険性を低くしたデザイン決定が遅れました**」 – Belloc
そうです、彼らはconst参照で所有権を変更することはできませんでした。なぜあなたはなぜそれほど危険ではないのかを尋ねていますか? – ildjarn