問題タブ [copy-constructor]

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.

0 投票する
2 に答える
2119 参照

c++ - デフォルトの引数を持つコピーコンストラクタ

私の知る限り、コピーコンストラクターはまたはの形式である必要がありT(const T&)ますT(T&)。署名にデフォルトの引数を追加したい場合はどうなりますか?

それは標準に準拠していますか?

0 投票する
3 に答える
679 参照

c++ - C++でコンストラクタをコピーする

私はこのコードを持っています

出力:

コピーコンストラクタがここで呼び出されないのはなぜですか?

0 投票する
3 に答える
4665 参照

c++ - コンストラクターまたは代入演算子

この場合、どちらがコンストラクターまたは代入演算子と呼ばれるかを説明するC++標準の定義がありますか。

それとも、コンパイラの最適化の問題ですか?

0 投票する
2 に答える
12031 参照

c++ - QObjectのクローン作成

Qobjects は値ではなく ID であると想定されていることを知っています。たとえば、それらをコピーすることはできず、qt のドキュメントで説明されているように、デフォルトではコピー コンストラクターと割り当てが無効になっています。しかし、クローン メソッドを使用して、既存の QObject から新しい QObject を作成することは可能ですか? これは論理エラーでしょうか? 私が言うなら

また

clone メソッドはメンバーなどのものをコピーしますが、これは間違っていますか?

これでよければ、それを行う独自のコピー コンストラクターと代入演算子を作成できますか?

注: 実際には、qobject を継承するクラスでこれを試してみたいと思っています。

0 投票する
2 に答える
1320 参照

c++ - CArray は、メモリの再割り当てでコピー コンストラクターを呼び出しません。

次の正しいコピーを作成するために、コピー コンストラクターを呼び出す必要があるクラスがあるとします。

ここでの問題は、メモリを再割り当てするときに CArray がその要素に対してコピー コンストラクタを呼び出さないことです (古いメモリから新しいメモリへの memcpy のみ)。たとえば、次のコードです。

結果は

わかりません。std::vector は同じオブジェクトを適切にコピーでき、CArray はできないのはなぜですか? ここでの教訓は何ですか?明示的なコピー コンストラクターを必要としないクラスのみを使用する必要がありますか? それとも、重大なことに CArray を使用するのは悪い考えですか?

0 投票する
2 に答える
2507 参照

c++ - c++ STL ベクトルがコピー コンストラクターを受け入れない

コピー const が宣言されていても、ベクトルを持つコード (c++、visual studio 2010) を作成しましたが、コピー const が宣言されていないことを示しています

ここにコード

私が得たエラーは

エラー 1 エラー C2558: クラス 'A': コピー コンストラクターが使用できないか、コピー コンストラクターが '明示的' と宣言されています c:\program files\microsoft visual studio 10.0\vc\include\xmemory 48 1 削除

誰でも私を助けてください

0 投票する
2 に答える
1240 参照

c++ - C++ では、変数を返すとどうなりますか?

変数が返されると、段階的に何が起こるか。組み込みで適合する場合、rax/eax/ax にスローされることはわかっています。適合しない場合、および/または組み込みでない場合はどうなりますか? さらに重要なことは、コピー コンストラクターの呼び出しが保証されているかどうかです。

編集:デストラクタはどうですか?それは「時々」、「常に」、または「決して」と呼ばれますか?

0 投票する
1 に答える
2837 参照

c++ - 可変引数コンストラクターは、暗黙的に生成されたコンストラクターを非表示にすることになっていますか?

可変引数コンストラクターは、暗黙的に生成されたコンストラクター、つまりデフォルト コンストラクターとコピー コンストラクターを非表示にすることになっていますか?

どういうわけか、この回答を読んだ後、これが何も出力しないことを期待していましたが、g ++ 4.5.0で2回出力inside the variadic constructorされます:(この動作は正しいですか?


可変個引数テンプレートなしでも発生します。

ここでも、両方の行が印刷されます。

0 投票する
3 に答える
7568 参照

c++ - デストラクタとコピーコンストラクタの呼び出し..(なぜこれらの時間に呼び出されるのですか)

私は次のコードを持っています

どの出力

Object v4 = v1;これにはいくつか問題があります。まず、コピーコンストラクターを呼び出してCopy-construct(1)、の印刷後に生成するのはなぜですか( b )

また、コピーコンストラクターの印刷( c )が再び2回呼び出された後、この関数がどのように機能してそれを生成するのかわかりません。 Object func(Object var) { return var; }

そしてその直後に Destruct(1)2回呼び出されてから( d )印刷されます。

長い質問でごめんなさい、私は上記と混同しています。

0 投票する
6 に答える
315 参照

c++ - コンストラクターのデモをコピー (クラッシュ... ケース 2)

このプログラムを見てください:

このプログラムは実行時にクラッシュします。エラー: 「式: _BLOCK_TYPE_IS_VALID(pHead->nBlockUse)」

割り当て演算子を使用して名前に「はい」を割り当てると、クラッシュします。文字列 func _tcscpy を使用して「Hai」を名前に割り当てると、完全に機能します。誰かがその理由を説明できますか?