問題タブ [shallow-copy]

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 投票する
1 に答える
469 参照

silverlight - Silverlight: UIElement の ShallowCopy を作成する方法

UIElementを2 つの異なるキャンバスに追加する必要がありますが、一方は 1 つのキャンバスUIElementの子にしかできないため、の ShallowCopy (DeepCopy は不要) を作成する必要がありUIElementます。

を使いたいMemberwiseCloneのですが、保護されていて使えません。

拡張メソッドも定義したいのですが、まだ保護されてUIElement.ShallowCopyいる呼び出しが残っています。MemberwiseClone

編集:

次のすべてを試しましたが、Silverlight 環境ではすべて失敗しました。

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

java - Java: ベクトル加算機能は浅いですか?

add 関数を使用してベクターにオブジェクトを追加する場合、それは浅いコピーですか、それとも深いコピーですか? 浅い場合は、ベクトル内のオブジェクトを変更すると、オブジェクトの元のコピーが変更されることを意味しますか?

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

python - Pythonはコピーをリストしますか?それはディープコピーまたはシャローコピーですか?それはどのように行われますか?

リストのPythonでディープコピーはどのように行われていますか?

リストのコピーについて少し混乱しています。浅いコピーまたは深いコピーを使用していますか? また、サブリストの構文は何ですか? ですかg=a[:]

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

ios - iOS で NSMutableArray のディープ コピーとシャロー コピーを実装する方法は?

NSMutableArray のディープ コピーとシャロー コピーを実装しようとしていますが、

このプログラムの出力は、

ディープ コピー:
前の古い配列の長さ: 4
古い配列の後の長さ: 4

浅いコピー:
古い配列の長さの前: 4
古い配列の後の長さ: 4

浅いコピーの削除が元の NSMutableArray に反映されない理由がわかりません。

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

c - Cでの浅いコピーと深いコピー

これをグーグルで検索してみましたが、結果としてオブジェクト指向の言語のみがポップアップ表示されます。

私の理解では、浅いコピーは構造体の特定のメンバーをコピーしています。

つまり、構造体は

char**のコピーは浅いコピーになります

しかし、リンクリスト全体をコピーすることは深いコピーになるでしょうか?

私は正しい考えを持っていますか、それとも私は道を外れていますか?ありがとう。

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

c# - リストのコピーがC#を使用して元のリストのプロパティを変更するのはなぜですか

私はこのクラスを持っているとしましょう

そして、次のように使用します。

isActiveのプロパティをEmployeesCopy変更すると、元のリストのプロパティも変更されるのはなぜですか?

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

perl - Perl の変数への参照の浅いコピー

Perl では、次のように変数に別の変数への参照を割り当てることができます。

そして、それは参照であるため、次のようなことを行うことができ、両方の変数が影響を受けます:

1..12両方の変数が同じスペースを指しているため、両方の変数に が含まれます。

さて、同じことを行う方法があるかどうか知りたいのですが、参照から始めて、後でその参照をプレーン変数に割り当てます。例えば:

私はそれを次のように割り当てることができることを知っています:

しかし、それはコピーです。$ref または @array を変更すると、それらは独立した変更になります。

@array が $ref と同じ変数を指すようにする方法はありますか?

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

c++ - レイジー コピー - 浅いコピーから深いコピーを作成する方法

レイジー コピーを使用しているクラスがあります。コピー コンストラクターが呼び出されると浅いコピーが作成され、1 つのメソッドが呼び出されるとディープ コピーが作成され、さらにデータが追加されます。

その浅いコピーから深いコピーを作成する必要がある部分で立ち往生しています。

ディープ コピーは次のようになります。

しかし、その方法を実装する方法がわかりません。一時オブジェクトを作成して *this で埋めようとしました

そして最後に

しかし、うまくいきません。

そもそもディープコピーを作成しないのはなぜですか? 非常に多くのコピーがあり、変更されるのはごくわずかであり、大量のメモリを消費するためです。

どうすればいいですか?

PS このタスクで STL と文字列を使用することは禁止されています。