問題タブ [copy-assignment]
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++ コピー コンストラクター
コピーコンストラクターをよく理解しようとしていますが、コードのこの部分を見つけました。
しかし、なぜこれらの結果が得られるのか理解できません。特に、コンストラクターではなく A1 と A のコピー コンストラクターが呼び出され、volta 関数が呼び出されたときにまったく得られない理由 (**** で囲まれた結果) :
EDIT_AssignmentOperatorQuery : この関数を BigA に追加すると
main から呼び出します:biga.change();
デフォルトの代入演算子の代わりに、copy-constructor と constructor が呼び出されているのはなぜですか?
EDIT_AnsweringMyOwnQuery : これはコピー コンストラクターによる初期化であり、代入演算子による代入ではないことがわかりました。
c++ - 重要なコピー操作のみを定義する
多くのメンバー変数を持つテンプレート化されたクラスがあります。これらの変数の少数はクラスのテンプレート型を持ち、大多数は固定型を持ちます。
クラスのインスタンス間で変換を使用して別のインスタンスにコピーしたいのですが、クラスが同じ型を持たない場合、暗黙的なコピーを使用してコピーすることはできません。したがって、割り当て方法が必要です。
ただし、必要な変換を行うためだけに、これらの多くのコピー操作をすべて書き出さなければならないのは残念です。
したがって、可能な場合に暗黙的なコピーが行われるように代入演算子を設定する方法はありますか?
コード例は次のとおりです。
c++ - カスタム ベクトルでのコピー代入
カスタム文字列クラス (String) に基づくカスタム ベクトル (String_vector) に取り組んでいます。コピーの割り当てに問題があり、終了しない何らかのループに陥っていると思います。私の実装では、ここreturn *this
に示すように、コピー アンド スワップ メソッドを実装しています。
文字列クラス:
String_vector クラス:
そしてメイン:
ありがとう!