質問編集履歴

3

注意事項をちょっと書いた

2019/05/19 14:08

投稿

raccy
raccy

スコア21735

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- さて、私が聞きたいのは、言語の機能として「参照渡し("pass by reference")」がある場合の話ではありません。言語の機能として「参照渡し」がない、少なくとも、英語の公式ドキュメントで"pass by reference"がない言語、ましてや、[Pythonのように値渡しであると公式ドキュメントに書いてある](https://docs.python.org/ja/3/tutorial/controlflow.html#defining-functions)言語において、「参照渡し」が意味する物が何であるのかと言うことです。これらを一部の人達は広義の意味での「参照渡し」と言っているようですので、以下、この質問では「広義の参照渡し」とし、前述のC++等での機能を「狭義の参照渡し」とします。つまり、聞きたいこと事は端的に言うと以下になります。
21
+ さて、私が聞きたいのは、言語の機能として「参照渡し("pass by reference")」がある場合の話ではありません。言語の機能として「参照渡し」がない、少なくとも、英語の公式ドキュメントで"pass by reference"がない言語、ましてや、[Pythonのように値渡しであると公式ドキュメントに書いてある](https://docs.python.org/ja/3/tutorial/controlflow.html#defining-functions)言語において、「参照渡し」が意味する物が何であるのかと言うことです。これらを一部の人達は広義の意味での「参照渡し」と言っているようですので、**以下、この質問では「広義の参照渡し」とし、前述のC++等での機能を「狭義の参照渡し」とします。**(そういう言葉があるわけではありませんので、ご注意ください。この質問でのみの表現です。)つまり、聞きたいこと事は端的に言うと以下になります。
22
22
 
23
23
 
24
24
 

2

誤解を招くような所を修正

2019/05/19 14:08

投稿

raccy
raccy

スコア21735

test CHANGED
File without changes
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
 
21
- さて、私が聞きたいのは、言語の機能として「参照渡し("pass by reference")」がある場合の話ではありません。言語の機能として「参照渡し」がない、少なくとも、英語の公式ドキュメントで"pass by reference"がない言語、ましてや、[Pythonのように値渡しであると公式ドキュメントに書いてある](https://docs.python.org/ja/3/tutorial/controlflow.html#defining-functions)言語において、「参照渡し」が意味する物が何であるのかと言うことです。これらを一部の人達は広義の参照渡し」と言っているようですので、以下、この質問では「広義の参照渡し」とし、前述のC++等での機能を「狭義の参照渡し」とします。つまり、聞きたいこと事は端的に言うと以下になります。
21
+ さて、私が聞きたいのは、言語の機能として「参照渡し("pass by reference")」がある場合の話ではありません。言語の機能として「参照渡し」がない、少なくとも、英語の公式ドキュメントで"pass by reference"がない言語、ましてや、[Pythonのように値渡しであると公式ドキュメントに書いてある](https://docs.python.org/ja/3/tutorial/controlflow.html#defining-functions)言語において、「参照渡し」が意味する物が何であるのかと言うことです。これらを一部の人達は広義の意味での「参照渡し」と言っているようですので、以下、この質問では「広義の参照渡し」とし、前述のC++等での機能を「狭義の参照渡し」とします。つまり、聞きたいこと事は端的に言うと以下になります。
22
22
 
23
23
 
24
24
 

1

下の方に追記

2019/05/19 00:12

投稿

raccy
raccy

スコア21735

test CHANGED
File without changes
test CHANGED
@@ -35,3 +35,15 @@
35
35
 
36
36
 
37
37
  「狭義の参照渡し」がある言語やない言語のリストは、私も全ての言語に詳しいわけではありませんので、間違いがあるかも知れません。また、この言語も足して欲しいという場合もあると思います。その場合は、追記・修正依頼で指摘して頂くと助かります。
38
+
39
+
40
+
41
+ ---
42
+
43
+
44
+
45
+ 不公平感が出ないように、私の考えの立場を言っておきます。私は[「『狭義の参照渡し』と混合するから『広義の参照渡しは』使うべきではない」](https://qiita.com/raccy/items/59a6ac6c818918dd9651)と考えています。ただ、この考えを全ての人に押しつける気はなく、C++等を学ぶことが生涯ない人は別にそれでいいのではないかと思っています。[「広義の参照渡し」の事例は集めています](https://qiita.com/raccy/items/d4c5e7995a8fc90109ee)が、私自身「広義の参照渡し」なるものの使用を前述の理由で避けていたため、どのような場合に使われる事が多いことを知っていても、その定義がどのようなものか、どのような場合に使うべきかまでは考察したことがありません。そのため、既にそれらに確固たる信念をもって使用されている方にお聞きすべく、この質問をすることにしました。
46
+
47
+
48
+
49
+ この質問で、別に「広義の参照渡し」を使うなと言っているわけではありません。どのような意味で「広義の参照渡し」を使っているのかを知りたいという純粋なる知識欲から質問しています。