ログファイルへの書き込みとログファイルへの書き込みのような独自のstd::cout
オブジェクトを作成しましstd::cout
た。
現在、ヘッダー ファイルでこのように定義していますが、未使用の変数の警告が表示されます。
ヘッダーファイル<MyLib/Log.h>
static LOut { };
static LOut lo;
template<typename T> inline LOut& operator<<(LOut& mLOut, const T& mValue)
{
std::string str{toStr(mValue)};
std::cout << str;
getLogStream() << str;
return mLOut;
}
使用法:
#include <MyLib/Log.h>
...
lo << "hello!" << std::endl;
すべきですlo
かstatic
?すべきですlo
かextern
?
-like オブジェクトを宣言する正しい方法を説明しcout
、主要な標準ライブラリの実装がどのようにそれを行うかを示してくれたことに感謝します。
編集: のcout
ようなオブジェクトとは、対応するヘッダーを含めた後に常に使用できるグローバル変数を意味します。