これは私の現在の機能ですが、タイプセーフではなく、時々迷惑になることがあります。
void Debug::Log(LogLevel level, const char* format, ...)
{
va_list args;
va_start(args, format);
cout << "[" << LogLevelToString(level) << "]\t";
vprintf(format, args);
va_end(args);
cout << endl;
}
ご覧のとおり、渡された引数を指定された形式でフォーマットしたいと思います。std::cout には書式設定機能があることは知っていますが、C va_list でどのように実装できるかを説明するものは見つかりませんでした。
基本的に主なポイントは次のとおりです。同じ動作を維持したいのですが、タイプ セーフで最新の方法を使用する場合は、std::cout を使用して、出力をファイルまたは必要な場所に簡単にリダイレクトできるようにする必要があります。
役立つポイント: 渡されたパラメーターの数を特定できる形式から、va_list 引数をループして個別に cout に渡す方法はありますか?
ありがとう