C ++標準ではstd::ios::openmode
、、、std::ios::fmtflags
およびstd::ios::iostate
は実装で定義されています。しかしstd::ios::goodbit
、ゼロに等しくなるように標準化されています。私の質問は、これらのビットマスクを標準に従ってブール値にキャストできるかどうかです。つまり、エラーフラグが設定されているかどうかをテストするには、次のように入力できますか。
inline void myFunction(std::ios::iostate x = std::ios::goodbit)
{
if (x) { // <- is it ok or do I have to type "if (x != std::ios::goodbit)" ?
/* SOMETHING */
}
}