問題タブ [stdmove]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++11: std::move( ) を使用した 'decltype クラス インスタンス宣言' は 'move コンストラクター' を呼び出しません。なんで?
私は最近c++を使い始め、 c++11の機能を学ぶことにしました。しかし、C++ コードがどのように実行されるかは、あまり具体的でない場合があります。
以下は私のコードです。の部分でdecltype(std::move(sample)) sample2 = std::move(sample);
、この行が移動コンストラクターを呼び出さない理由がわかりません。理由を説明していただけますか?
[gcc 5.4.0]を使用して[ubuntu 16.04 LTS]でコンパイルされています
c++ - std::move でオブジェクトを返し、関数をチェーンします
そのようにオブジェクトを返すメソッドを作成しました:
コードの後半で、このメソッドを次のような連鎖呼び出しで使用したいと考えました。
「doAnotherThing」の呼び出しは空のオブジェクトに依存しています。私は状況を修正する方法を知っています:
私の質問は: そもそも、メソッドは正しく書かれていますか? 使い方の2番目の方法を書かないようにするにはどうすればよいですか? ほんとうにうらやましい…
注: 「MyObject」は移動可能です。