問題タブ [pass-by-reference]

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 投票する
7 に答える
48024 参照

c++ - C++ イテレータを参照渡しすることの何が問題になっていますか?

次のようなプロトタイプを使用して、いくつかの関数を作成しました。

呼び出し元が文字の範囲を提供し、関数が文字を整数値として解釈して返しbegin、最後に使用された文字の 1 つ後ろに残すという考え方です。例えば:

これはi123 に設定されたままになりp、 の前のスペースを「指す」ことになりfooます。

それ以来、参照によってイテレータを渡すのは悪い形式だと (説明なしに) 言われました。フォームが悪いのでしょうか?もしそうなら、なぜですか?

0 投票する
2 に答える
2376 参照

c++ - Generic :: Listを参照で渡すにはどうすればよいですか?

管理されていないコードを管理された.dllでラップしようとしてGeneric::List、データポイントのをに変換しようとしていstd::vectorます。これが私がやろうとしていることの抜粋です:

これをコンパイルすると、次のようになります。

エラーC3699:'&':タイプ'const System :: Collections :: Generic::List'でこの間接参照を使用できません

私はおそらくここで基本的な何かを見逃しました(私は.netのやり方に比較的慣れていません)が、それは私にはかなり有効なコードのように見えます..?

[編集] AndyとDarioの両方の提案を試しましたが、それらは機能しますが、入力リストのメンバーにアクセスするにはどうすればよいですか?あらゆる種類の参照の組み合わせを試しましたが、何もコンパイルされていないようです。

...両方とも私に:

エラーC2662:'System :: Collections :: Generic :: List :: Count :: get':この'ポインタを' const System :: Collections :: Generic::List'から'System:: Collections::に変換できませんGeneric :: List% '

...では、どのようにして参照/ポインタにアクセスしますか?

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

python - Python の関数との間で多くの変数を渡すにはどうすればよいですか?

私は科学的プログラミングを行っており、ユーザーにプロンプ​​トと変数のペアを表示し、変数を編集させてから、新しい変数を使用して計算を実行させたいことがよくあります。私はこれを頻繁に行うので、wxPython クラスを作成して、このコードをメイン プログラムから移動しました。変数の型 (string、float、int)、プロンプト、および変数の現在の値を使用して、変数ごとにリストを設定します。次に、これらすべてのリストを 1 つの大きなリストに配置すると、私のユーティリティが適切にフォーマットされた wxPython パネルを作成し、プロンプトと編集可能な現在の値が表示されます。

私が始めたとき、私はいくつかの変数しか持っていなかったので、各変数を書き出しました。

今、私はこのルーチンを多くの変数 (10-30) に使用したいと考えていますが、このアプローチはうまくいきません。list.append() ステートメントを使用して、複数行にわたる関数への入力リストを作成できます。ただし、コードが関数から戻ると、正しい変数にアンパックする必要があるこの膨大なリストが得られます。これは管理が難しく、入力リストと出力リストの同期がずれやすくなりそうです。さらに悪いことに、それは不格好に見えます。

多くの変数を Python の関数に追加情報とともに渡して編集できるようにし、変数を元に戻してプログラムの残りの部分で使用できるようにする最良の方法は何ですか?

参照によって変数を関数に渡すことができれば、ユーザーはそれらを変更することも変更することもできず、プログラムが関数から戻ったときに値を使用することになります。入力リストを複数行にわたって作成するだけでよく、入力リストが出力リストと同期しなくなる可能性はありません。しかし、Python はこれを許可しません。

大きなリストを小さなリストに分割してから、関数に出入りするために大きなリストに結合する必要がありますか? それとも、エラーを起こす場所が増えるだけですか?

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

java - HashMap に配置した後に値を変更すると、HashMap の内容が変更されますか?

新しい HashMap と新しい List を作成し、任意のキーを使用して Hashmap 内に List を配置し、後で呼び出すList.clear()と、HashMap 内に配置したものに影響しますか?

ここでのより深い質問は次のとおりです。HashMap に何かを追加するとき、新しいオブジェクトがコピーされて配置されますか、それとも元のオブジェクトへの参照が配置されますか?

ありがとう!

0 投票する
4 に答える
5159 参照

java - JNA 参照による構造の受け渡しヘルプ

JNA を使用して、コンピューターに接続された USB デバイスを介して通信しようとしています。Java と提供された .dll を使用します。書き込み機能に問題があります:

C コード:

同等のJava:

開閉できることを確認しております。閉じるには NativeLong ハンドルが必要なので、ここでは CANMsg メッセージが問題であると想定しています。また、C のみのコードでテストした場合、デバイスが動作することも確認しています。

私はJNAのドキュメントを徹底的に読みました...と思います。任意のポインター。皆さんありがとう。

0 投票する
4 に答える
175 参照

function - PHP と C++ の 2 つの場所だけが、値渡しのように見えるものが実際に参照渡しであることに注意する必要があるのでしょうか?

単純なデータ型の変数を関数の引数として渡し、値を変更できる場合に注意する必要があるのは、PHP と C++ の 2 つだけですか?

そのような

そして3行目、echo $countは2以外のものを表示します。それが発生する可能性があるのはPHPとC ++だけです。他に起こりうる場所はありますか?

更新:つまり、「値渡し」のように見えるものは、実際には「参照渡し」です。Java、Perl、PHP、Python、および Ruby でオブジェクトを渡す場合、自動的に参照渡しになり、オブジェクトのインスタンス変数の値を変更できます。非オブジェクトを渡すのはどうですか?

0 投票する
1 に答える
824 参照

ado.net - F#: パラメータで ByRef セマンティクスを宣言して使用するにはどうすればよいですか?

in/out パラメーターを使用していくつかの SQL ストアド プロシージャをラップしています。もちろん、これは、参照によってパラメーターを宣言し、ミュータブルを使用するなど、醜いことをしなければならないことを意味します。

F# でこれを行うにはどうすればよいですか?