Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
これを書くための読みやすい方法を探しています(aとbは入力です):
int value = 50; if(a == value) return b; if(b == value) return a; return max(a,b);
これは長いです。私はこれを思いつきましたが、これは十分に明確ではありません:
return (a==value)?b:((b==value)?a:max(a,b))
最大定義のみでこれを達成する方法はありますか?
コードは読みやすく理解しやすいものでなければなりません。あなたが言った最初のコードは長すぎると言っていましたが、非常に明確であり、3 行は C または C++ にとって不当な量のコードではありません。
これを頻繁に行う場合は、関数にパッケージ化して関数を呼び出します。禁止番号が変わる可能性がある場合は、それを関数の引数にします。
三項式は、コード usingifステートメントと本質的に同じであることに注意してください。それらはおそらく同一のコードにコンパイルされます。
if