这个答案声明了一个private static ostringstream
. 这个线程安全吗?如果两个线程同时抛出(并捕获和记录what()
)异常,这是否可靠地工作?如果我在ostringstream
本地声明,例如:
virtual const char* what() const throw()
{
std::ostringstream cnvt.str( "" );
cnvt << runtime_error::what() << ": " << getNumerator()
<< " / " << getDenominator();
return cnvt.str().c_str();
}
是否有缺点(内存泄漏或非法指针)?或者这是线程安全的方式?