1
私はムーブコンストラクタを実装するクラスBar
を持っています。オブジェクトをfoo(Bar &&)関数に移動する
インスタンスBar b
の場合、void fooRvalRef(Bar&&)
をfooRvalRef(std::move(b))
と呼ぶと、Barの移動コンストラクタは呼び出されません。
一方、関数void foo(Bar)
の場合は、foo(std::move(b))
を使用して呼び出すと、Barの移動コンストラクタが呼び出されます。
なぜですか?
[なぜ 'std :: move'という名前の' std :: move'ですか?](http://stackoverflow.com/q/21358432/3953764) –