7
にゼロを追加し、私は非常に独特のラインに気づい:はCプリプロセッサ文の
#if !defined(__STRICT_ANSI__) || __STDC_VERSION__ + 0 >= 199900L
奇妙な部分が+ 0
です。ゼロは加法的な同一性です。さまざまな数学が書いているのは、noop
です。
上記のプリプロセッサステートメントにゼロを追加する目的は何ですか?私はそこにall sorts of weird preprocessor magicがあることを知っていますが、これはばかばかしいようです。
完全には正しくありません。プリプロセッサ評価のルールは未定義の識別子トークンが0と評価されているため、定義されていなければ問題ありません。これが重要なのは、それが定義されるときであるが、空のトークンになる場合である。 –
@ JensGustedt:正しいですが、私はちょうどいくつかのテストコードで自分の答えを検証しようとしましたが、正しくないことに気付きました。私はそれが今正しいことを願っています。 –
ツイスト。トークンが空白の場合、+記号は単項演算子として解釈されると思います。 – ApproachingDarknessFish