[cppll:0093] <tips> inline if
- Subject:
- [cppll:0093] <tips> inline if
- From:
- Wraith the Trickster <wraith@...>
- Date:
- Thu, 13 Dec 2001 12:53:13 +0900
- X-Mailer:
- Microsoft Outlook Express 5.50.4807.1700
- Message-Id:
- <002b01c18389$ba16d020$3eacc63d@mist>
道化師です。
今日はインラインでの分岐について。C/C++ でのインラインでの分岐
といば...
x? y: z;
....をまっさきに思い浮かべる方も多いかと思いますが、
&&
||
....を利用する手もあり...
if (条件) {
true 時の処理;
} else {
false 時の処理;
}
....は...
(条件)? (true 時の処理): (false 時の処理);
....と記述する以外にも...
(条件) && (true 時の処理, true) || (false 時の処理);
....とも記述できます。また実に皮肉なことですがこの手法を使えば
通常の if では煩雑になってしまう処理もスマートに記述することが
可能になったりします。特に...
HOGE_ERROR != hoge.step1() &&
HOGE_ERROR != hoge.step2() &&
HOGE_ERROR != hoge.step3();
....のようなエラーチェックを厳重に行いながら処理を行うときなど
この手法を使うとより簡潔に記述できたりします。
# この手法を使うとマクロを組んだりすときも便利かと。
□■□■ Wraith the Trickster □■□■
■□■□ 〜I'll go with heaven's advantage and fool's wisdom.〜 ■□■□
今日はインラインでの分岐について。C/C++ でのインラインでの分岐
といば...
x? y: z;
....をまっさきに思い浮かべる方も多いかと思いますが、
&&
||
....を利用する手もあり...
if (条件) {
true 時の処理;
} else {
false 時の処理;
}
....は...
(条件)? (true 時の処理): (false 時の処理);
....と記述する以外にも...
(条件) && (true 時の処理, true) || (false 時の処理);
....とも記述できます。また実に皮肉なことですがこの手法を使えば
通常の if では煩雑になってしまう処理もスマートに記述することが
可能になったりします。特に...
HOGE_ERROR != hoge.step1() &&
HOGE_ERROR != hoge.step2() &&
HOGE_ERROR != hoge.step3();
....のようなエラーチェックを厳重に行いながら処理を行うときなど
この手法を使うとより簡潔に記述できたりします。
# この手法を使うとマクロを組んだりすときも便利かと。
□■□■ Wraith the Trickster □■□■
■□■□ 〜I'll go with heaven's advantage and fool's wisdom.〜 ■□■□
▼ スレッド
- 93: といば... x? y: z; if (条件) { true 時の処理; } else { false 時の処理; } 通常の if では煩雑になってし Wraith the Trickster
- └96: これ、個人的には、あんまし好きじゃないっす(^^; いわゆる番人というやつですね。 C言語によ oki
- └97: ただ、goto みたいに日頃は使うべきじゃないんだけど、稀にそれを使 うことがベストであると Wraith the Trickster
- └99: 時々,いや頻繁に ^^;,Perl/Ruby の || && の仕様が欲しくなる <解説> Perl/Ruby では,|| && は,true/false では Tietew