マクロが定義されていて、if else ステートメント内でそのマクロを使用しているとします。
#include <iostream>
#define LOG(x) {if (x) std::cout << "What is up" << std::endl;}
int main(void) {
if (true)
LOG(true);
else
false;
return 0;
}
さて、これはトリッキーなケースです。インデントによっては、「if」と「else」のどちらを使用するべきかについてあいまいさが生じる可能性があることに気付きました。
私はこの魂を思いついた
(some_condition) ? dosomething() : true;
これで問題は解決しますが、真のステートメントを持つことの影響が何であるかはわかりません。これは良い解決策ですか、それともより良いアプローチがありますか?
編集:ここに私が使用したコードがありますが、動作しません。これを修正できるかどうか確認してください。