このifステートメントに相当するものを知りたいです。
if (condition) {
// do something
}else{
// do nothing
}
条件演算子の使用:
(condition) ? // [do nothing] : {do nothing} "
このifステートメントに相当するものを知りたいです。
if (condition) {
// do something
}else{
// do nothing
}
条件演算子の使用:
(condition) ? // [do nothing] : {do nothing} "
条件演算子を使用して「何もしない」ことはできません。両方の式をにキャストできますが、常に両側に有効な式が必要ですvoid
。
これは、三項演算子 ( ?: ) の欠点の 1 つです。
3 か所すべてに式が必要です。それらをスキップすることはできません。
あなたはそれを微調整することができますが、その真の部分および/または偽の部分は次のように割り当てることができます:
int big=100;
big= (10 > 100) ? 0 : big;
if (!condition) {
// do something
}else{
// do nothing
}
今すぐ!beforecontitionを見てください:-)
!!条件が「if」を「ifnot」に切り替える前に..。
それはあなたが探していたものですか?
通常のコードでは、答えは同等のものはありません。式のすべての部分式には値が必要ですが...
以下は推奨事項ではありません
一般的なケースでは、次の行に沿った何かが機能するはずです。
condition ? ( (^{ do something })(), 0 ) : 0;
それは一般的な場合です。何かを行う場合は、単一の非複合ステートメントです。メソッド呼び出しなど。次に、ブロックをドロップして以下を提供できます。
condition ? (do something, 0) : 0;
繰り返しますが、これは実際のコードでは推奨されません!
あなたはこのようなことをすることができます
someBool ? [self someFunction] : (^{})(); //empty block
originalValue = (condition) ? newValue : originalValue
次に、コンパイラは、自分自身へのoriginalValueの不要な代入を削除する必要があります。
GCC には拡張機能があり、探しているものにさらに何かを与えることができます。
originalValue = condition ?: newValue;
したがって、clangでも利用できる場合があります。あなたはしなければならないでしょう!状態ですが。