printf
スタイルの書式設定に基づくロギング フレームワークがあります。
void Logger::debug(const char *fmt, ...) {
va_list args;
va_start(args, fmt);
this->output(DebugLevel, fmt, args);
va_end(args);
}
スローの場合、コンパイラはスタックを適切にアンワインドしますか、それともcatch 句にLogger::output
try/catch ブロックを追加する必要がありますか? va_end(args)
代わりにこれを RAII することはできますか、それともva_end
魔法のようにできますか? 可能であれば、標準への参照を含めてください。