問題タブ [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++11 - なぜC++標準はそのような恐ろしい使用を禁止しないのですか?
ソースコードは非常にシンプルで自明です。質問はコメントに含まれています。
jquery - .click後にjQueryが変数を渡さない
簡単な jQuery スクリプトを実行しています。2 つのボタンがあり、1 つはデータを送信し、1 つのボタンは最初の変数で送信される変数の 1 つの値を設定する必要があります。
わかりましたので、ボタン 1 のスクリプト (プレビューと呼ばれます) は次のとおりです。
これが行うことは、画像に効果を加えることであり、すべてが素晴らしく機能します。JavaScript の最初の行の 1 つに、「sourceImage」変数が含まれています。
その変数は、上記のスクリプトに正しく渡されます。2 番目のボタン (Save State と呼ばれます) は、画像の効果に満足しているものを確認して、画像の状態を保存し、その画像に対する効果を続行します。これは、ソース イメージを変更する必要があることを意味します。これには、次のスクリプトを使用します。
実際にトリガーされたかどうかを確認するために行を残しました$('#header').html(sourceImage);
が、そうであったため、この行は必要ありませんが、アクションがトリガーされていることは確かです。
ただし、「プレビュー」を再度クリックすると、変数sourceImageの値が元の値に戻りますが、実際にはこの新しい値を保持する必要があります。
私を助けてくれる人がいることを願っています。
c++ - この状況での値または参照セマンティクス?
状況によっては、値を選択するか参照セマンティクスを選択するかについての感覚がありません(まだ、私は願っています)。適用できる経験則はありますか?
私は通常、組み込みデータ型(char、int、bool、doubleなど)以外のすべての参照を選択します。ただし、関数から参照を返すことができない場合があるため、ポインターを使用する必要があります。次の関数はこの例です。
boost :: shared_ptrを使用してFooオブジェクトを保存しますが、オブジェクトの操作が非常に見苦しくなります。私は現在、10個を超える要素がほとんどないdequeを返す関数を調べています(これは私が想定していることですが、確認する方法はありません)。これを値で返すのは大丈夫でしょうか?私の考慮事項は時期尚早の最適化の場合ですか?
c++ - C++でポインタ引数を渡し、値で渡しますか?
C++でポインタ引数を渡し、値で渡しますか? ポインター自体への変更は、メソッドの外部には反映されないことがわかります。ただし、ポインターを逆参照することで行った変更は反映されます。
その場合、ポインタへのポインタを関数への引数として使用して、関数内でポインタ値をそのまま変更することは許容/標準的な手順ですか?
c - Cで値渡し
次のコードは移植可能ですか?
ポインターを値で渡すだけで、呼び出し元で変更できます。
c++ - C++ の関数における値渡し
このコードは c++ で正しいですか?
#include <list>
リスト (の) を値で返すのは問題がありますか?
c - C99 const 値渡し
私は GNU Scientific Library のソース コードを調べていて、次のタイプの宣言を見続けています。
C99 では、値で渡される引数を宣言することの (最適化) 利点はありますか (たとえば、N
またはincy
上記の例で) const
? いずれにせよ、それらは値渡しされるため、それらのコピーが作成されますね。
どうも!コーネル
c - 配列を値で関数に渡します
以下は、C Programming JusttheFAQsという本の抜粋です。配列は値で渡すことができないので、これは間違っていませんか?
VIII.6:配列を値で関数に渡すにはどうすればよいですか?
回答:
[
呼び出された関数で、末尾に角かっこ(および]
)を付けた配列名を宣言することにより、配列を値で関数に渡すことができます。関数を呼び出すときは、配列のアドレス(つまり、配列の名前)を呼び出された関数に渡すだけです。たとえば、次のプログラムは、 値x[]
で指定された関数に配列を 渡します。byval_func()
このパラメーターは、 関数が1つの引数(整数の配列)を取ることを
int[]
コンパイラーに指示します。byval_func()
関数が呼び出されると、byval_func()
配列のアドレスを次のアドレスに渡しますbyval_func()
。配列は値で渡されるため、配列の正確なコピーが作成され、スタックに配置されます。呼び出された関数は、配列のこのコピーを受け取り、それを印刷できます。渡される配列は元の配列のコピーであるため 、関数
byval_func()
内で配列を変更しても元の配列には影響しません。byval_func()
c++ - 参照渡しとポインタによる値渡し
関数にポインターを渡しても、渡されるデータが変更されない理由がわかりません。関数 proto が次のようになっている場合:
func は p にメモリを割り当てましたが、関数の外で使用できないのはなぜですか? ポインターはアドレスだと思いましたか?
vba - ByRef は、VBA 6.0 では参照ではなく値を受け取るようです
私の小さなサンプルコード
3 を出力する必要がありますが、1 を出力します。より具体的には、ana
変数はAddNr
関数の呼び出し後に変更されません。
私の環境は、Excel 2007 内の Microsoft Visual Basic 6.5 です。