問題タブ [variable-assignment]

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

java - javaのa += 10とa = a + 10の違いは?

a += 10とはどちらも同じですかa = a + 10、それとも違いがありますか? Javaで課題を勉強しているときに、この質問を受けました。

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

delphi - Delphi で戻り値を取得するための最適化はありますか?

バイトを格納するレコードを使用して、プログラムの他の部分にあるオブジェクトのフィールドにアクセスし、同じ名前の関数を使用して別のレコードのフィールドにアクセスするエレガントな方法を見つけようとしています。レコードのフィールド。

ここで、変換演算子をオーバーロードして作業を楽にしようとしていたので、バイトを TAilmentP オブジェクトに割り当てようとすると、それが Ordinal フィールドに割り当てられます。ただし、私が確認したように、暗黙の「演算子」への呼び出しは戻り値の新しい TAilmentP オブジェクトを作成し、そのビジネスを行い、値を返し、アドレスが異なるため、それを呼び出したオブジェクトにバイトごとのコピーを作成します。

正直なところ、私のコードはこのメソッドをかなり頻繁に呼び出しており、オブジェクトの Ordinal フィールドに値を直接代入するよりも遅いようです。

ANYメソッド/関数を使用して、プログラムに実際に値をフィールドに直接割り当てる方法はありますか? インライン化しても機能しないようです。オブジェクト自体ではなく、(レコード) 変数への参照を返す方法はありますか? 最後に (トピックから少し外れて申し訳ありません)、なぜ演算子のオーバーロードは静的関数を介して行われるのでしょうか? それらを逆参照せずにオブジェクトフィールドにアクセスできるので、それらをインスタンスメソッドにすると高速になりますか? これは、ここと私のコードの他の部分で本当に便利です。

[編集] これは、すべての最適化が有効で、デバッグ機能がない (ブレークポイントの「デバッグ情報」でさえない) Implicit オペレーターのアセンブラー コードです。

さらにおもしろいのは、次の関数の起動時に mov eax, eax 命令があることです。今では本当に便利に見えます。:P そうそう、私の Implicit 演算子もインライン化されませんでした。

[esp] は Result 変数であると確信しています。割り当て先とは異なるアドレスを持っているからです。最適化をオフにすると、[esp] は [ebp-$01] (割り当て先) と [ebp-$02] (Byte パラメーター) に置き換えられ、[ebp-$02] を AL に移動する命令がもう 1 つ追加されます (その後、 [ebp-$01] に配置します)、冗長な mov 命令は [epb-$02] にまだあります。

何か間違ったことをしていますか、それとも Delphi には戻り値の最適化がありませんか?

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

javascript - JavaScript OR (||) 変数代入の説明

この JavaScript スニペットを考えると...

誰かが私にこのテクニックが何と呼ばれているか説明してもらえますか (私の最良の推測はこの質問のタイトルにあります!)? そして、それが正確にどのように/なぜ機能するのですか?

私の理解では、変数fには、null または未定義ではない値を持つ最初の変数の最も近い値 (左から右へ) が割り当てられるということですが、この手法に関する多くの参考資料を見つけることができず、それがたくさん使われているのを見ました。

また、この手法は JavaScript に固有のものですか? PHPで同様のことを行うと、それ自体fの値ではなく、真のブール値が得られることを私は知っていdます。

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

c - 構造体メンバーの割り当てでプログラムがエラーなしで停止する

構造体へのポインターを受け入れ、その構造体のメンバーを特定の値に設定する関数があります。ただし、その割り当てコードが実行された後、プログラムはエラーを表示せずに終了します。

私はCが初めてなので、助けていただければ幸いです。

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

variable-assignment - 課題での#geplantの意味/使用法は何ですか?

X ++(Javaバックグラウンド)から始めたばかりで、次のようなコードを見つけました

orderStatus列 を持つテーブルへのレコードです。

私の質問:#USRBatchSchedulingand #geplant( "geplant"はドイツ語で"planned")の意味は何ですか、そして最終的にはその定義をどこで見つけるか。
ある種の定数だと思います#が、X ++リファレンス(キーワード)で見つけることができませんでした。

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

c# - C# 自動参照割り当て - 参照を null にする

Unity3D の C# スクリプト環境 (Mono で実行) は、オブジェクトを破棄するときに優れた動作をします。破棄されたオブジェクトを指すすべての参照は、自動的に null になります。

出力:

これを達成する方法についてのアイデアはありますか?

ありがとう

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

c++ - 戻り値の最適化を信頼する

戻り値の最適化をどのように使用しますか?
最新のコンパイラが最適化を使用することを信頼できる場合はありますか、それとも常に安全な方法で何らかの型のポインターを返すか、パラメーターとして参照を使用する必要がありますか?

戻り値の最適化を行うことができない既知のケースはありますか? 戻り値の最適化は、コンパイラーにとって非常に簡単に実行できるように思えます。

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

c++ - 別のプログラムから特定のメモリアドレスを割り当て、その値を変更する

最近、私は数日間学校を休んでおり、メモリーアドレスを扱う C++ で小さなプログラムの実験をしたいと思っていました。

私が見たかったのは、ヒープ内のintオブジェクトへのポインターを作成した現在実行中のプログラム(プログラムAと呼びましょう)が、別のプログラムによって表示され、変更できるかどうかです(プログラムB)。

プログラム A の基本的なコードは次のとおりです。

プログラム A の出力:

プログラム B については、次のリンクから特定のメモリ アドレスを割り当てる方法を調べました: http://www.devx.com/tips/Tip/14104

プログラム B のコードは次のとおりです。

プログラム B の出力:

よくわかりません。から 15 が表示されることを期待していましたが、予想外のことが起こりました*p

*pのような番号にも割り当てようとしまし*p = 2000たが、それを試みたときにクラッシュしました。

また、ポインターとプログラム A ( cout << &pint;) とプログラム B ( cout << &p;) のアドレスを表示すると、両方とも同じメモリ アドレスを示しました。

何が起こっているのか正確に知っている人はいますか?私は興味がありますが、何が起こっているのか混乱しています。また、私が試みていることを C++/C で行うことは可能ですか?

**編集**私のプラットフォームについて言及せずに申し訳ありませんが、私は現在Window 7 Professionalを使用しています

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

variable-assignment - ネストされたモジュールのセットの奥深くにワイヤを割り当てる

私は約4レベルの深さのワイヤーを持っており、それを階層の上位に伝播する必要があるという煩わしさを本当に望んでいません。ある種の参照を使用してワイヤを割り当てる方法はありますか?次のように入力して、ワイヤーにアクセスできることを知っています。

しかし

動作しません

誰かがそれを行う方法を知っていますか?