問題タブ [pass-by-value]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
17 に答える
199179 参照

php - PHP 変数は値渡しですか、それとも参照渡しですか?

PHP 変数は値または参照によって渡されますか?

0 投票する
11 に答える
18166 参照

language-agnostic - 参照渡しか値渡しか?

新しいプログラミング言語を学習するときに遭遇する可能性のある障害の 1 つは、その言語がデフォルトで値渡しか参照渡しかという問題です。

それでは皆さんに質問です、好きな言語で、実際にはどのように行われますか? そして、考えられる落とし穴は何ですか?

もちろん、お気に入りの言語は、これまでに遊んだことがある言語なら何でもかまいません:人気のある、あいまいな難解な新しい古い...

0 投票する
92 に答える
2379480 参照

java - Javaは「参照渡し」または「値渡し」ですか?

Java はpass-by-reference を使用しているといつも思っていました。

ただし、 Java がpass-by-value を使用していると主張するブログ投稿を見たことがあります。

私は彼らが行っている違いを理解していないと思います。

説明は何ですか?

0 投票する
11 に答える
111610 参照

c++ - C++では、値渡しと定数参照渡しのどちらが良いですか?

C++では、値渡しと定数参照渡しのどちらが良いですか?

私はどちらがより良い習慣なのか疑問に思っています。定数参照による受け渡しは、変数のコピーを作成していないため、プログラムのパフォーマンスが向上するはずです。

0 投票する
17 に答える
52553 参照

c++ - C++ - std::shared_ptr または boost::shared_ptr への参照を渡す

を操作する必要がある関数がある場合、その関数へshared_ptrの参照を渡す方が効率的ではないでしょうか (shared_ptrオブジェクトのコピーを避けるため)。考えられる悪い副作用は何ですか? 次の 2 つのケースが考えられます。

1) 関数内で、次のように引数のコピーが作成されます。

2) 関数内では、次のように引数のみが使用されます。

どちらの場合も、参照ではboost::shared_ptr<foo>なく値で渡す正当な理由がわかりません。値渡しは、コピーのために参照カウントを「一時的に」インクリメントするだけで、関数スコープを終了するときにデクリメントします。私は何かを見落としていますか?

明確にするために、いくつかの回答を読んだ後:私は時期尚早の最適化の懸念に完全に同意し、常に最初にプロファイルしてからホットスポットで作業しようとします. 私の質問は、純粋に技術的なコードの観点からのものでした。

0 投票する
18 に答える
793950 参照

language-agnostic - 参照による受け渡しと値による受け渡しの違いは何ですか?

違いは何ですか

  1. 参照によって渡されたパラメーター
  2. 値によって渡されるパラメータ?

例をいくつか教えてください。

0 投票する
6 に答える
7956 参照

.net - VB.NET での参照

VB.NET のクラスへの参照 (ポインタ?) は、私にはやや不明確です。私が尋ねようとしている質問は、少しテストすることで答えることができますが、誰かが適切な説明 (またはリンクも) を投稿できるかどうか疑問に思っていました。

クラスを作成する場合:

そして、実際にこのクラスをプロパティとして使用するクラス:

そして、次のように使用します。

これで、参照が参照ではなく「値によって」新しいクラスに渡されたとしても、関数BooleanCheckは常に を返します。そのため、クラスのコピーは作成されませんが、 のローカル変数は引き続き のプロパティを参照/ポイントします。trueUsingClassmyReferenceUsingClassReferenceRuntimeOrSomething

これはどのようにエレガントに説明できますか?

0 投票する
8 に答える
12850 参照

c - ポインタを介して構造体メンバーにアクセスすることについて混乱している

私はCを初めて使用し、ポインターを介して構造体のメンバーを参照したときに得られる結果に混乱しています。例については、次のコードを参照してください。初めてtst->numberを参照するとどうなりますか?私がここで見逃している基本的なことは何ですか?

出力は次のとおりです。

0 投票する
6 に答える
103827 参照

c++ - 参照渡し / C++ の値

値渡しと参照渡しの違いを明確にしたいと思います。

絵を描きました

ここに画像の説明を入力

したがって、値渡しの場合、

同一のオブジェクトのコピーが別の参照で作成され、ローカル変数に新しい参照が割り当てられるため、新しいコピーを指す

言葉を理解する方法:「関数がその値を変更する場合、変更は、値渡しと参照渡しの両方の呼び出し関数のスコープ内にも表示されます」

ありがとう!

0 投票する
12 に答える
166230 参照

java - Java のメソッド パラメータでキーワード「final」を使用する必要があるのはなぜですか?

finalメソッドのパラメーターで使用する場合、キーワードが本当に便利な 場所がわかりません。

匿名クラスの使用、可読性、意図の宣言を除外すると、私にはほとんど価値がないように思えます。

一部のデータが一定であることを強制することは、見かけほど強力ではありません。

  • パラメータがプリミティブである場合、パラメータは値としてメソッドに渡され、それを変更してもスコープ外では影響がないため、影響はありません。

  • 参照によってパラメーターを渡す場合、参照自体はローカル変数であり、参照がメソッド内から変更された場合、メソッドのスコープ外からは何の影響もありません。

以下の簡単なテスト例を考えてみましょう。メソッドが与えられた参照の値を変更しても、このテストは成功しますが、効果はありません。