概要
cerrもwcerrも、標準エラー出力に対する出力ストリームオブジェクトである。
すなわち、std::basic_streambufから派生していて<cstdio>のstderrオブジェクトに結びつけられているストリームバッファに出力する。
本オブジェクトは、初期化が完了すると tie() が &cout を返すようになる。
clogと異なる点は、unitbufフラグが指定されていることである。そのため、出力操作のたびにバッファの吐き出しが行われる。
その他の状態は、basic_ios::init の事後条件と同様である。
cerrはcharacter error (stream)を意味する。またwcerrはwide character error (stream)を意味する。[1]
例
#include <iostream>
#include <vector>
int main()
{
try
{
std::vector<int> v;
v.at(42) = 1;
}
catch(const std::exception& e)
{
std::cerr << "問題発生: " << e.what() << std::endl;
}
}
出力例
問題発生: invalid vector<T> subscript
出力内容は環境により異なる。
バージョン
言語
- C++98
出典
- ^ Stroustrup: C++ Style and Technique FAQ(2018-08-21 17:01 JST 閲覧)