回答編集履歴
4
何を渡すか追記
answer
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
|
|
6
6
|
昔の言語は「値型変数」(保持値=代入値)しかなくて、値型変数を値渡しするか参照渡しするかでした。
|
|
7
7
|
|
|
8
|
-
- 1.値型変数の値渡し(実引数と仮引数は別変数、値コピー)
|
|
8
|
+
- 1.変数の値を渡す:値型変数の値渡し(実引数と仮引数は別変数、値コピー)
|
|
9
|
-
- 2.値型変数の参照渡し(実引数と仮引数は同一変数、変数共有)
|
|
9
|
+
- 2.変数自体を渡す:値型変数の参照渡し(実引数と仮引数は同一変数、変数共有)
|
|
10
10
|
|
|
11
11
|
その2つの pass by value/reference を省略せずに書くと、
|
|
12
12
|
|
3
要するに~の文を追記
answer
CHANGED
|
@@ -21,9 +21,10 @@
|
|
|
21
21
|
|
|
22
22
|
が増えることになりました。
|
|
23
23
|
Pythonは「参照型変数」しかなくて「値渡し」しかできないので3.のみできます。
|
|
24
|
+
3.を英語にすると pass the reference to the object とか pass the object by object reference でしょうか。「オブジェクト共有渡し」とか単に「共有渡し」と呼ばれています。
|
|
24
25
|
|
|
25
26
|
ということで、1.と3.が「狭義の値渡し」で2.と4.が「狭義の参照渡し」、1.が「広義の値渡し」で3.が「広義の参照渡し」ということになるかと思います。ただし、C言語の「ポインタ型変数の値渡し」は1.なのですが「広義の参照渡し」になると思います。
|
|
26
|
-
|
|
27
|
+
要するに「呼出し元に影響を与えない」のが「広義の値渡し」、「呼出し元に影響を与える」のが「広義の参照渡し」かと思います。
|
|
27
28
|
|
|
28
29
|
Qiitaに図解記事を書いてみました。参考になりましたら幸いです。
|
|
29
30
|
- [値渡し、ポインタ渡し、オブジェクト共有渡し、参照渡しの言語別対応表と用語説明 - Qiita](https://qiita.com/shiracamus/items/63f6ef513a203ee82e7c)
|
2
ポインタ型変数を追記
answer
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
が増えることになりました。
|
|
23
23
|
Pythonは「参照型変数」しかなくて「値渡し」しかできないので3.のみできます。
|
|
24
24
|
|
|
25
|
-
ということで、1.と3.が「狭義の値渡し」で2.と4.が「狭義の参照渡し」、1.が「広義の値渡し」で3.が「広義の参照渡し」ということになるかと思います。
|
|
25
|
+
ということで、1.と3.が「狭義の値渡し」で2.と4.が「狭義の参照渡し」、1.が「広義の値渡し」で3.が「広義の参照渡し」ということになるかと思います。ただし、C言語の「ポインタ型変数の値渡し」は1.なのですが「広義の参照渡し」になると思います。
|
|
26
26
|
3.を英語にすると pass the reference to the object とか pass the object by object reference でしょうか。「オブジェクト共有渡し」とか単に「共有渡し」と呼ばれています。
|
|
27
27
|
|
|
28
28
|
Qiitaに図解記事を書いてみました。参考になりましたら幸いです。
|
1
狭義・講義の値渡しについても追記
answer
CHANGED
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
が増えることになりました。
|
|
23
23
|
Pythonは「参照型変数」しかなくて「値渡し」しかできないので3.のみできます。
|
|
24
24
|
|
|
25
|
-
ということで、2.と4.が「狭義の参照渡し」、3.が「広義の参照渡し」ということになるかと思います。
|
|
25
|
+
ということで、1.と3.が「狭義の値渡し」で2.と4.が「狭義の参照渡し」、1.が「広義の値渡し」で3.が「広義の参照渡し」ということになるかと思います。
|
|
26
26
|
3.を英語にすると pass the reference to the object とか pass the object by object reference でしょうか。「オブジェクト共有渡し」とか単に「共有渡し」と呼ばれています。
|
|
27
27
|
|
|
28
28
|
Qiitaに図解記事を書いてみました。参考になりましたら幸いです。
|