問題タブ [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.
c++ - 値と const 参照に基づく関数のオーバーロード
次のようなものを宣言しますか
理にかなっていますか?発信者はどのようにそれらを区別できますか? 私はもう試した
c - 値渡しのポインタを変更する
リンクされたリストの先頭ノードでfoo(struct node *n)
ある関数を指定しました。n
ここで、リストの最後を指す stfoo
を変更する必要があります。n
しかし、これはこの関数シグネチャで可能ですか?
t
リストの最後へのポインターであると仮定します。
n = t
ポインターが値渡しされるため、機能しません。*n = *t
リストの先頭を上書きするため、機能しません。
私は何か見落としてますか?
asp.net - IListをフィルタリングする
_PaymentMethods
はパブリックプロパティであり、そのコピーをフィルタリングして変数に格納したいと思いますpaymentOptions
ただし、これを2回実行すると、変数_PaymentMethods
には削除されたアイテムが含まれなくなります。
値ではなく参照によって行われるようです...リストを配列にコピーしたくないLinqを使用する必要がありますか、それとも他の方法がありますか?
編集:私は今これを持っています:
c++ - C++ で、ポインターまたはインスタンスによってクラス/構造体にアクセスする利点は何ですか?
C++ では、以下に示す実装 2 に対する実装 1 の利点は何ですか。どちらも一種の参照渡しなので、どちらの場合もメモリは HEAP から割り当てられませんか? その場合、一方が他方よりも優れている点は何ですか。
第二に、どちらの方法が優れているか - 値渡しまたは参照渡し。値による受け渡しを使用する必要がある場合と、参照による受け渡しを使用する必要がある場合。
実装 1:
実装 2:
regex - 値渡しを参照渡しに自動的に変更する
手動の Java から C++ への移植まで、何百もの関数があります。結果の C++ コードで、値渡しのパラメーターを参照渡しに変更したいと考えています。
int、float などのプリミティブ型はそのままにしておくことをお勧めします。
このプロセスを自動化するリファクタリング ツールはありますか? 正規表現のトリック?
または、移植可能な Java コードを C++ に変換するツールはありますか?
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 行で明示的な中間変数を使用せず、参照渡しでコピーを作成しないようにする以外に、一般的に実行を高速化するものはありますか? 明らかな何かが欠けているように感じます。
python - Pythonは同じ値で新しいオブジェクトを作成します
私は次のことを期待するJavaの世界から来ました
この後、a は b よりも 1 大きくなります。しかし、Python では、この b は a と同じオブジェクトを参照しているため、a = a + 1 操作が完了すると、b は自動的に 1 ずつインクリメントされます。a の値だけをコピーして、b という新しいオブジェクトに代入するにはどうすればよいですか?
ありがとう!
ruby - ref 以外で関数に文字列を渡す方法 (Ruby)
次のコードを確認してください
私の理解では、文字列を ref によって関数に渡しました (c/cpp などの低レベル言語で行われるのと同じように)。
文字列を値だけで渡すことは可能ですか (PHP のように)?
関数内で文字列を複製し、コピーでのみ作業できることを十分に認識しています。
c++ - c / c ++で参照渡しするときと値渡しするとき
重複の可能性:
C++ では、値渡しと定数参照渡しのどちらが優れていますか?
C++でいつ参照渡しし、いつポインター渡しますか?
私はcとc ++にかなり慣れていません。関数にパラメーターを渡すことに関して次の質問があり、ここで質問して、教祖からの知識の源に直接アクセスするのが最善だと思いました.
パラメータをいつ値渡しする必要があり、いつ参照渡しする必要がありますか? そして、現実の世界で最も一般的に使用されている方法は何ですか?
前もって感謝します。