e言語のcopyメソッドとdeep_copyメソッドの違いは何ですか?
deep_copy() を使用する必要があるのはいつですか? copy() を使用するだけで十分な場合は?
ありがとう!
copy はスカラー フィールドをコピーし、サブ構造体への参照を保持します。ディープ コピーはすべてのサブ構造体を再帰的にコピーします。
違いは、copy() が浅いということです。これは、スカラーの値とポインターをリストまたは構造体にコピーすることを意味します。Deep_copy() は、参照や新しいリスト/構造体の作成などの copy() メソッドを制御するための属性を持つ強力なコピーです。より深い階層に関係なく浅いコピーが必要な場合は、copy() を使用します。より深い階層に注意を向ける必要がある場合は、deep_copy() を使用します。
スカラーをコピーするには、copy を使用します。- サブ構造体を参照します。サブ構造体をコピーするには、ディープ コピーを使用します。
Copy() は、スカラー値、構造体ポインターのみをコピーし、同じリストを参照します。Deep_copy() は、新しい構造体インスタンスを再帰的に作成し、新しいリストを割り当ててリスト要素を作成します。リスト要素が構造体の場合、これらも新しいインスタンスになります