問題タブ [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 投票する
6 に答える
10385 参照

c++ - 値と const 参照に基づく関数のオーバーロード

次のようなものを宣言しますか

理にかなっていますか?発信者はどのようにそれらを区別できますか? 私はもう試した

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

c - 値渡しのポインタを変更する

リンクされたリストの先頭ノードでfoo(struct node *n)ある関数を指定しました。nここで、リストの最後を指す stfooを変更する必要があります。n

しかし、これはこの関数シグネチャで可能ですか?

tリストの最後へのポインターであると仮定します。

  • n = tポインターが値渡しされるため、機能しません。
  • *n = *tリストの先頭を上書きするため、機能しません。

私は何か見落としてますか?

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

asp.net - IListをフィルタリングする

_PaymentMethodsはパブリックプロパティであり、そのコピーをフィルタリングして変数に格納したいと思いますpaymentOptions

ただし、これを2回実行すると、変数_PaymentMethodsには削除されたアイテムが含まれなくなります。

値ではなく参照によって行われるようです...リストを配列にコピーしたくないLinqを使用する必要がありますか、それとも他の方法がありますか?

編集:私は今これを持っています:

0 投票する
3 に答える
273 参照

c++ - C++ で、ポインターまたはインスタンスによってクラス/構造体にアクセスする利点は何ですか?

C++ では、以下に示す実装 2 に対する実装 1 の利点は何ですか。どちらも一種の参照渡しなので、どちらの場合もメモリは HEAP から割り当てられませんか? その場合、一方が他方よりも優れている点は何ですか。

第二に、どちらの方法が優れているか - 値渡しまたは参照渡し。値による受け渡しを使用する必要がある場合と、参照による受け渡しを使用する必要がある場合。

実装 1:

実装 2:

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

regex - 値渡しを参照渡しに自動的に変更する

手動の Java から C++ への移植まで、何百もの関数があります。結果の C++ コードで、値渡しのパラメーターを参照渡しに変更したいと考えています。

int、float などのプリミティブ型はそのままにしておくことをお勧めします。

このプロセスを自動化するリファクタリング ツールはありますか? 正規表現のトリック?

または、移植可能な Java コードを C++ に変換するツールはありますか?

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

c++ - 戻り値を使用して get および関数呼び出しのループを最適化しますか?

これは、バッファリングされたソースからデータを取得し、それを送信して処理するフラグメントです。キューが空の場合、get() は null を返し、プロセス メソッドは null を受け取って何もしません。これをコーディングする最も最適な方法は何ですか?

get() 経由で到着する値を予測する方法はありません。それらはそのままであり、可能な限り迅速にキューから取り出して process() に渡す必要があります。

「a」という名前の明示的なローカル変数をスキップして、ループを 1 つのライナーにすると、無駄な労力はあまり見られません。

g.get() の暗黙の戻り値にはまだスペースが割り当てられており、コンストラクターの呼び出しなどが含まれる可能性があります。

返されたものにサイズや複雑さがある場合は、そのコピーではなくそれへのポインターを持ち、値によるコピーではなくそのポインターを渡す方がよいでしょう...だから私は

それよりも

2 行バージョンと 1 行バージョンを試して、100,000,000 回ループするテスト ケースを c++ で作成しました。

a が 4 つの整数と 2 つの浮動小数点数を持つオブジェクトであり、process() メソッドがそれらすべてに触れる場合、実際には 2 行のソリューションの方が高速です! オブジェクトが単一の int の場合、1 行バージョンの方が高速です。オブジェクトが複雑で、process() メソッドが 1 つの値に触れるだけの場合は、1 行バージョンの方が高速です。

私にとって最も興味深いのは、g++ コンパイラ、Mac OS X 10.5.8 を使用して、-O 第 1 レベルの最適化スイッチを使用すると、1 行バージョンと 2 行バージョンの両方で同じ、はるかに高速な操作が得られることです。

コンパイラに最適化させ、両方のメソッドを 1 行で明示的な中間変数を使用せず、参照渡しでコピーを作成しないようにする以外に、一般的に実行を高速化するものはありますか? 明らかな何かが欠けているように感じます。

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

python - Pythonは同じ値で新しいオブジェクトを作成します

私は次のことを期待するJavaの世界から来ました

この後、a は b よりも 1 大きくなります。しかし、Python では、この b は a と同じオブジェクトを参照しているため、a = a + 1 操作が完了すると、b は自動的に 1 ずつインクリメントされます。a の値だけをコピーして、b という新しいオブジェクトに代入するにはどうすればよいですか?

ありがとう!

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

ruby - ref 以外で関数に文字列を渡す方法 (Ruby)

次のコードを確認してください

私の理解では、文字列を ref によって関数に渡しました (c/cpp などの低レベル言語で行われるのと同じように)。
文字列を値だけで渡すことは可能ですか (PHP のように)?
関数内で文字列を複製し、コピーでのみ作業できることを十分に認識しています。

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

c++ - c / c ++で参照渡しするときと値渡しするとき

重複の可能性:
C++ では、値渡しと定数参照渡しのどちらが優れていますか?
C++でいつ参照渡しし、いつポインター渡しますか?

私はcとc ++にかなり慣れていません。関数にパラメーターを渡すことに関して次の質問があり、ここで質問して、教祖からの知識の源に直接アクセスするのが最善だと思いました.

パラメータをいつ値渡しする必要があり、いつ参照渡しする必要がありますか? そして、現実の世界で最も一般的に使用されている方法は何ですか?

前もって感謝します。