6

これはただの好奇心からの質問です...

「IF」を使用する場合、どこでも見られるコードの99%は「If(RValue == LValue)...」の形式になります。例:

If (variableABC == "Hello World") ...

反対の例が他にもあります。

If ("Hello World" == variableABC)

これがどのように始まり、なぜそれが行われたかを知っている人はいますか?

4

3 に答える 3

3

これは、C および C++ での次の誤りのために行われます。

if (variableABC = "Hello World") ...
                ^
                (Watch here)

このようにして、コンパイルエラーが発生します:

if ("Hello World" = variableABC)
                  ^
                  (Watch here)

たとえば、C# および Java 言語では、このトリックは必要ありません。

于 2012-04-20T19:16:32.750 に答える
2

=後者は、誤って等価演算子の代わりに代入演算子を使用した場合に、意図しない代入を防ぐために行われます=='

一部の言語では、if 条件での代入が許可されていませんが、その場合はどちらでもかまいません。

if 条件で代入を受け入れる言語では、私は常に後者のケースを好みます。

于 2012-04-20T19:16:37.790 に答える
1

これは、開発者が == の代わりに = を書くことがよくあるエラーのために行われます。C++ では整数をブール値として扱うことができ、コンパイル時にエラーは発生しません。

于 2012-04-20T19:19:26.647 に答える