回答編集履歴
2
誤字修正
test
CHANGED
@@ -48,7 +48,7 @@
|
|
48
48
|
|
49
49
|
|
50
50
|
|
51
|
-
例示の状況であれば「非ポインタ型構造体」のほうが良いことだらけに見えます。ただ、スライスにappendする時にコピーするのは「ポインタ値のサイズ(CPUレジスタ1個分)」のみです。非ポインタ型構造体をスライスにappendする時にコピーするのは「構造体全体のサイズ」です。また、引数渡し
|
51
|
+
例示の状況であれば「非ポインタ型構造体」のほうが良いことだらけに見えます。ただ、スライスにappendする時にコピーするのは「ポインタ値のサイズ(CPUレジスタ1個分)」のみです。非ポインタ型構造体をスライスにappendする時にコピーするのは「構造体全体のサイズ」です。また、引数渡しや返値渡し、メソッドレシーバーアクセスのたびに「非ポインタ型構造体」は「構造体全体のコピー」が発生します。
|
52
52
|
|
53
53
|
|
54
54
|
|
1
説明修正
test
CHANGED
@@ -48,11 +48,11 @@
|
|
48
48
|
|
49
49
|
|
50
50
|
|
51
|
-
例示の状況であれば「非ポインタ型構造体」のほうが良いことだらけに見えます。ただ、スライスにappendする時にコピーするのは「ポインタ値のサイズ(CPUレジスタ1個分)」のみです。非ポインタ型構造体をスライスにappendする時にコピーするのは「構造体全体のサイズ」です。
|
51
|
+
例示の状況であれば「非ポインタ型構造体」のほうが良いことだらけに見えます。ただ、スライスにappendする時にコピーするのは「ポインタ値のサイズ(CPUレジスタ1個分)」のみです。非ポインタ型構造体をスライスにappendする時にコピーするのは「構造体全体のサイズ」です。また、引数渡しは返値、メソッドレシーバーアクセスのたびに「非ポインタ型構造体」は「構造体全体のコピー」が発生します。
|
52
52
|
|
53
53
|
|
54
54
|
|
55
|
-
つまり、構造体定義のサイズでトレードオフが発生します。あるていど構造体定義が肥大化すると利点の効果
|
55
|
+
つまり、構造体定義のサイズでトレードオフが発生します。あるていど構造体定義が肥大化すると利点の効果よりもコピーコストの方が問題として大きくなります。
|
56
56
|
|
57
57
|
|
58
58
|
|