2016-08-27 1 views
-1

私はこの用語を知らず、これを検索できるキーワードはわかりませんが、基本的にはこのコードを最適化する方法がありますか?条件付きで値を割り当てる方法を短くする方法

//int y (1 or 2) 
int x = 1; 
if(y == 2) x = 2; 

私はブール値で何かを覚えているが、それが何だったか覚えていないことができますが、それは使用されます「?」 (何か何かがあるかどうかを確認するコードの疑問符) コードの余分な行なしでこれを短くする方法はありますか?

//bool y (true or false) 
bool x = true; 
if(y) x = false; 
+1

することができ、コードが短く作ることは必ずしも最適ではありません。これは時期尚早の最適化のように見えますが、これは常に避けるべきです。 – Rakete1111

+2

これは三項演算子と呼ばれています。 –

答えて

4

何を意味することは三項演算子でなければなりません。

3進演算子の形式は、condition ? if_true : if_falseです。あなたはこのようにそれを適用することができます。後者のコードのための

int x = (y == 2 ? 2 : 1); 

bool x = (y ? false : true); 

、それは単に

bool x = !y; 
+0

ありがとう、これは私が探していたものと同じだった – beps

+0

btwは、私のif()と比べてポストしたプロセッサの高速メソッドですか?私の兄は私にDOSの486 PCで効率的に動作するアプリケーションをプログラムする "チャレンジ" – beps

関連する問題