この回答はprivate static ostringstream
. このスレッドは安全ですか? what()
2 つのスレッドが同時に例外をスロー (およびキャッチしてログに記録) した場合、これは確実に機能しますか? ostringstream
ローカルで宣言すると、次のようになります。
virtual const char* what() const throw()
{
std::ostringstream cnvt.str( "" );
cnvt << runtime_error::what() << ": " << getNumerator()
<< " / " << getDenominator();
return cnvt.str().c_str();
}
欠点 (メモリ リーク、または不正なポインター) はありますか? それとも、これはスレッドセーフな方法ですか?