C ++の三項演算子(?X:Y)とは何ですか?
条件演算子(?:)は三項演算子です(3つのオペランドを取ります)。条件演算子は次のように機能します-
- 最初のオペランドは暗黙的にboolに変換されます。続行する前に評価され、すべての副作用が完了します。
- 最初のオペランドがtrue(1)と評価された場合、2番目のオペランドが評価されます。
- 最初のオペランドがfalse(0)と評価された場合、3番目のオペランドが評価されます。
- 条件演算子の結果は、評価されたオペランド(2番目または3番目)の結果です。条件式では、最後の2つのオペランドのうち1つだけが評価されます。条件演算子の評価は非常に複雑です。上記の手順は、簡単な紹介でした。条件式には、右から左への結合性があります。最初のオペランドは、整数型またはポインタ型である必要があります。
- 次の規則が2番目と3番目のオペランドに適用されます-
- 両方のオペランドが同じタイプの場合、結果はそのタイプになります。
- 両方のオペランドが算術型または列挙型の場合、通常の算術
- 変換(標準変換でカバー)は、それらを共通のタイプに変換するために実行されます。
- 両方のオペランドがポインター型である場合、または一方がポインター型で、もう一方が0と評価される定数式である場合、ポインター変換が実行されて、それらを共通の型に変換します。
- 両方のオペランドが参照型の場合、それらを共通の型に変換するために参照変換が実行されます。
- 両方のオペランドがvoid型の場合、共通の型はvoid型です。
- 両方のオペランドが同じユーザー定義タイプの場合、共通のタイプはそのタイプです。
- オペランドの型が異なり、オペランドの少なくとも1つがユーザー定義の型である場合、共通の型を決定するために言語規則が使用されます。 (以下の警告を参照してください。)
#include <iostream> using namespace std; int main() { int i = 1, j = 2; cout << ( i > j ? i : j ) << " is greater." << endl; }
2 is greater.
-
C#の三項演算子とは何ですか?
3項演算子は、C#の条件演算子です。 3つの引数を取り、ブール式を評価します。 例- y = (z == 1) ? 100 : 180; 上記では、第1オペランドがtrue(1)と評価された場合、第2オペランドが評価されます。最初のオペランドがfalse(0)と評価された場合、3番目のオペランドが評価されます。 以下は例です- 例 using System; namespace Demo { class Program { static void Main(string[] args) { &nbs
-
C#の三項演算子/条件演算子とは何ですか?
三項演算子は、C#の条件演算子です。 3つの引数を取り、ブール式を評価します。 例- y = (x == 1) ? 70 : 100; 上記では、第1オペランドがtrue(1)と評価された場合、第2オペランドが評価されます。最初のオペランドがfalse(0)と評価された場合、3番目のオペランドが評価されます。 以下は例です- 例 using System; namespace DEMO { class Program { static void Main(string[] args) {