2012-03-05 14 views
-1

可能性の重複:
Speed difference between If-Else and Ternary operator in C…?3進演算子は実行速度を向上させますか?

これは非常に単純な質問ですが、三項演算子は、if else文に比べて実行速度を向上させるのでしょうか?

+0

@FosterZ:あなたは私の質問への答えを持っていない場合は、ここでコメントをしません、誰もあなたにそれを聞いた。 – Dom045

+0

私は答えを持っていますが、私はあなたが最初に検索をしたかっただけで、質問をするためにここに急いではいけません。 – FosterZ

答えて

0

いいえ、ほとんどの言語は非常によく似た構文ツリーを解析します。どんなジット/オプティマイザもジャンプせずに単純な命令の「基本ブロック」にそれを崩壊させるでしょう。その時点からそれを最適化します。

もちろん、これが本当ではないいくつかの本当に悪いシステムがあるかもしれません。 gcc/msvc/c#はすべて同じように扱います。

これは豊富なことは、通常、ロジックステートメントではなく式であるという事実と関連付けることができます。これを行うために簡単にすべてを作るようなもの(注意:先に本当に醜い例):

size_t n = strlen(pszVar == NULL ? "" : pszVar);

関連する問題