ディープ コピーとシャロー コピーの違いは何ですか?
ベストアンサー1
幅と深さ。オブジェクトをルート ノードとする参照ツリーの観点から考えます。
浅い:
変数 A と B はメモリの異なる領域を参照し、B が A に割り当てられると、2 つの変数は同じメモリ領域を参照します。どちらかの変数の内容に後で変更を加えると、それらは内容を共有しているため、もう一方の変数の内容に即座に反映されます。
深い:
変数 A と B はメモリの異なる領域を参照します。B が A に割り当てられると、A が指すメモリ領域の値が B が指すメモリ領域にコピーされます。その後、どちらかの内容が変更されても、その内容は A または B に固有のままとなり、共有されません。