タグ付けされた質問 「operator-precedence」

演算子の優先順位とは、プログラミング言語の式またはステートメント内で演算子が評価される順序を制御する規則を指します。ソフトウェアシステムでの実行イベントのシーケンスをカバーする[実行順序]とは異なります。

5
Javaでの評価順序のルールは何ですか?
私はいくつかのJavaテキストを読んでいて、次のコードを取得しました。 int[] a = {4,4}; int b = 1; a[b] = b = 0; 本文では、著者は明確な説明をしていませんでした、そして最後の行の効果は次のとおりです: a[1] = 0; 私は理解しているのかよくわかりません:評価はどのように行われたのですか?

6
各ループのC#はList <T>をどのような順序で繰り返しますか?
C#のforeachループがSystem.Collections.Generic.List&lt;T&gt;オブジェクトをループする順序について疑問に思っていました。 同じトピックについて別の質問を見つけましたが、それが私の質問に満足のいく答えになるとは感じていません。 誰かが順序が定義されていないと述べています。しかし、他の誰かが述べているように、配列をトラバースする順序は固定されています(0から長さ-1まで)。8.8.4foreachステートメント 順序のある標準クラスにも同じことが当てはまるとも言われています(例List&lt;T&gt;)。それをバックアップするためのドキュメントが見つかりません。ですから、今はそのように機能するかもしれませんが、次の.NETバージョンでは異なる可能性があります(可能性は低いかもしれませんが)。 私もList(t).Enumerator運が悪かったのでドキュメントを見ました。 別の関連する質問は、Javaの場合、ドキュメントに具体的に記載されていると述べています。 List.iterator()このリストの要素に対して適切な順序でイテレータを返します。」 私はC#のドキュメントでそのようなものを探しています。 前もって感謝します。 編集:すべての回答をありがとうございました(私が非常に多くの返信を受け取ったのは驚くべきことです)。すべての回答から私が理解しているのは、List&lt;T&gt;常にインデックスの順序で繰り返されるということです。しかし、のJavaドキュメントListと同様に、これを示すドキュメントの明確な平和を望んでいます。

4
C ++でのコンマ演算子の動作が異なりますか?
これ(コンマ演算子に注意してください): #include &lt;iostream&gt; int main() { int x; x = 2, 3; std::cout &lt;&lt; x &lt;&lt; "\n"; return 0; } 出力2。 ただし、returnコンマ演算子とともに使用する場合は、次のようになります。 #include &lt;iostream&gt; int f() { return 2, 3; } int main() { int x; x = f(); std::cout &lt;&lt; x &lt;&lt; "\n"; return 0; } 出力3。 コンマ演算子の動作が異なるのはなぜreturnですか?

2
矢印(->)演算子の優先順位/優先順位が最も低いか、割り当て/組み合わせ割り当ての優先順位が最も低いですか?
JLS: 最も優先順位の低い演算子は、ラムダ式の矢印(-&gt;)で、その後に代入演算子が続きます。 どちらの方向に進んだか(優先度の増加、優先度の減少)?-「フォロー済み」とは、割り当てが(矢印演算子に対して)優先度が高いか低いかを意味します。「最低」(矢印)は絶対最低を意味するので、増加すると思います。 私が理解しているように、矢印(-&gt;)はこのプリンストン演算子の優先順位表の一番下(つまり、すべての代入演算子の下にあります)にある必要があります。 私の理解は正しいですか? ExamTrayは、矢印の優先順位は少なくとも割り当てと同じであると言っているようです...さらに、矢印の結合性は(割り当てとは異なり)左→右→右であることを明確にしました。矢印の結合性に関するJLSの引用は見つかりませんでした。 私はいつも、割り当ての優先順位は主に理由により最低だと思っていました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.