std::auto_ptr_ref

つい今しがた初めてstd::auto_ptr_refの存在とその存在意義を知った.というか,これってmove semanticsの文脈で必ず出てくる話だにゃ.std::auto_ptrにも同じ機構があるのは知らなかった.というかstd::auto_ptrにもなければおかしいのだけれど.move_ptrはこのstd::auto_ptr_refからstd::auto_ptrへのコンストラクタしか許さず,所有権の移動を明示的な構文で書こう,というモチベーションだと思えば良いんだろうな,多分.
ちなみにこの手のmove semantics周りのトリックをColvin-Gibbons trickと呼ぶらしい.

参考

Colvin-Gibbons trickちぅ名前は上の2つから来てるんだろうにゃあ,多分.