回答編集履歴
1
紛らわしい部分を修正
test
CHANGED
@@ -1,10 +1,10 @@
|
|
1
1
|
「memcopy関数などでコピーする行為は浅いコピーと言われ」という表現自体が酷く不適切です。
|
2
2
|
|
3
|
-
浅いコピー(シャローコピー)はコピーしたいもの自体でなく、その参照をコピーする事を言います
|
3
|
+
浅いコピー(シャローコピー)はコピーしたいもの自体でなく、その参照をコピーする事を言います
|
4
4
|
|
5
5
|
深いコピー(ディープコピー)はコピーしたいものの実体をコピーすることです。
|
6
6
|
|
7
|
-
したがって質問者さんの配列コピーは深いコピーです。
|
7
|
+
したがって質問者さんのソースコードのint配列コピーは深いコピーです。
|
8
8
|
|
9
9
|
配列の場合浅いコピーは
|
10
10
|
|
@@ -15,3 +15,11 @@
|
|
15
15
|
|
16
16
|
|
17
17
|
構造体をmemcpyしたときに中の要素にポインタが含まれていた場合にその参照先をディープコピーしないことがあると言いたいのだと思いますが、「memcpy自体がシャローコピーである」というのはとんでも解説なので本当にそのように書かれていたのであれば勉強資料を選び直すことを検討した方が良いかと思います。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
【追記】
|
22
|
+
|
23
|
+
コメントを受け、紛らわしい部分を修正しました。
|
24
|
+
|
25
|
+
加えて上記ディープコピーとシャローコピーについての解釈は私見であることも一応記載しておきます。
|