C++ 三項演算子

C San Xiang Yan Suan Zi



「条件演算子と if-else ステートメントはどちらも同じ手法を採用していますが、条件演算子は if-else 式を可能な限り短くしますが、if-else 式はより多くのスペースを占有します。一部のプログラミング言語では、ほとんどの演算子が必要とする通常の 1 つまたは 2 つのオペランドとは対照的に、3 つのオペランドを受け入れる、三項演算子として知られる演算子があります。これは、基本的な if-else ブロックを凝縮する手段を提供します。このガイドでは、C++ の三項演算子について例を挙げて説明します。場合によっては、C++ アプリケーションの if else ステートメントを、条件演算子として知られる三項演算子に置き換えることができます。」

C++ での三項演算子の構文

三項演算子には、条件、真、偽の 3 つのオペランドが必要です。三項演算子はテスト条件を分析し、結果に応じてコード ブロックを実行するため、構文は次のようになります。

# (exp_1) ? exp_2 : exp_3

ここで「exp」は式を表します。式の結果に応じて、この演算子は 2 つの値のいずれかを返します。式 2 と 3 が評価され、「exp_1」がブール値 true に評価された場合、それらの値が最終結果として返されます。それ以外の場合、式 1 はブール値の false に評価され、式 2 が評価され、その値が最終結果として返されます。







例 1

これは、C++ の三項演算子の使用方法を示す簡単なサンプル プログラムです。



#include

#include <文字列>

名前空間 std の使用 ;

整数 主要 ( ) {
ダブル CGPA ;
カウト <> CGPA ;

string student_result = ( CGPA >= 1.5 ) ? '合格した' : '失敗した' ;

カウト << '君は ' << 学生の結果 << 「学期。」 ;

戻る 0 ;
}



プログラムでは、ヘッダー セクションに C++ ライブラリを入力しました。その後、'using' というキーワードで名前空間 std を追加しました。すると、その中にデータ型が「double」の変数「CGPA」が宣言されています。次の行では、cout コマンドを出力して CGPA を入力するようにユーザーに求めています。 cin コマンドを使用して、ユーザーは CGPA を追加します。





次に、三項演算子を持つ別の変数「student_result」を作成しました。三項演算子には、ここで 3 つの式が必要です。 1 つ目は、ユーザーが入力した CGPA が「1.5」以上かどうかをチェックする条件です。そうであれば、ステートメント「passed」が出力されるか、そうでなければ 3 番目の式が出力されます。 cout コマンドを使用すると、結果が表示されます。

ユーザーがCGPA「3.5」と入力したとしましょう。 CGPA >= 1.5 は true と評価され、基準を満たします。したがって、結果には最初の用語「合格」が与えられます。



ユーザーが 1.00 と入力したとします。その結果、条件 CGPA >= 1.5 は誤って評価されます。したがって、結果には 2 番目の表現「失敗」が与えられます。

例 2

C++ の特定の種類の if else ステートメントは、三項演算子で置き換えることができます。例として、このコードを変更できます。最初のサンプル プログラムは if-else 条件を使用し、もう 1 つのサンプル プログラムは三項演算子を使用します。

#include

名前空間 std の使用 ;

整数 主要 ( ) {

整数 一つに = - 3 ;
カウト << 「1つに:」 < 0 )
カウト << ' \n 正の整数' ;
そうしないと
カウト << ' \n 負の整数!」 ;

戻る 0 ;
}

int データ型の変数「num」を宣言し、負の整数値で初期化しました。その後、cout コマンドで「num」の値が出力されます。次に、if-else 条件があります。 「if」条件内で、変数「num」が値ゼロよりも大きくなければならないという条件を指定しました。条件が真になると、「if」条件の直後の cout コマンドが出力されます。条件が偽になると、else cout ステートメントが出力されます。

数値が負の値であるため、if 条件が false になり、

次に、上記のプログラムを三項演算子で実行しました。 if-else 条件と三項演算子が同じ効果を持つかどうかを確認してみましょう。

#include

#include <文字列>

名前空間 std の使用 ;

整数 主要 ( ) {

整数 マイナンバー = - 7 ;
カウト << '整数:' << マイナンバー < 0 ) ? '正の整数!' : 「負の整数!」 ;
カウト << 結果 << エンドル ;

戻る 0 ;
}

変数「MyNum」を宣言し、負の値で初期化しました。 cout コマンド内で「MyNum」変数を呼び出して、負の値を出力しました。次に、文字列型の「結果」として別の変数を設定します。結果変数は、三項演算子演算を取ります。まず、「MyNum」が 0 より大きくなければならないという条件があります。その後、三項演算子「?」を入れます。他の 2 つの式は、条件の結果に対して実行されます。

整数値は「-7」なので、3 番目の式は「Negative Integer!」です。プロンプトに出力されます。ここでは、両方のアプリケーションからの出力は同じです。ただし、三項演算子は、コードの可読性と簡潔さを向上させます。

例 3

さらに、三項演算子は相互に使用できます。次のプログラムでは、ネストされた三項演算子を使用して、値が正、負、またはゼロかどうかを確認します。

#include

#include <文字列>

名前空間 std の使用 ;

整数 主要 ( ) {
整数 整数 = 0 ;
文字列 結果 ;

結果 = ( 整数 == 0 ) ? 'ゼロ' : ( ( 整数 > 0 ) ? 'ポジティブ' : 'ネガティブ' ) ;

カウト << '整数は' << 結果 ;

戻る 0 ;
}

プログラムの main メソッドから始めてください。 int main() で、「integer」という名前の変数を作成し、その値をゼロに設定しました。次に、データ型が文字列の別の変数「Result」を定義しました。三項演算子をバイパスして、変数「Result」を設定しました。条件は、変数「integer」値がゼロ「integer == 0」に等しいことです。初期条件 (integer == 0) は、与えられた整数がゼロかどうかを決定します。その場合、結果には文字列値「ゼロ」が与えられます。答えが正しければ。それ以外の場合、最初の条件が false の場合、2 番目の条件 (整数 > 0) が調べられます。

はい、スクリプトに示されているように、提供された整数はゼロです。出力は「Integer is Zero」を生成します。

結論

条件演算子が三項演算子であることは承知しています。このオペレーターの助けを借りて、状態を確認し、それに沿って行動することができます。三項演算子の代わりに if-else 条件を使用して同じことを達成することができます。この C++ チュートリアルでは、構文とサンプル プログラムを通じて三項演算子の使用方法を説明しました。三項演算子は、最終ステートメントが簡潔な場合にのみ使用する必要があることに注意してください。