現在、ロギングクラスを作成しています。ロガーはストリームを処理し、現在ログに記録されているオブジェクトも出力します。マクロは次のとおりです。
#define OBJLOG(DL, what) DL <= this->Logger->getDebugLevel() ? *this->Logger << DL << "[" << this->Name << "]: "<< what << std::endl : this->Logger->doNothing();
概要を改善するための擬似コードバリアント:
#define OBJLOG(debuglevel, what) debuglevel <= logger.debuglevel ? logger.log(what) : logger.doNothing()
何もしないなど、doNothing関数呼び出しを回避する方法はありますか?