public member function
std::<ios> <iostream>

std::basic_ios::operator bool

operator void*() const;
explicit operator bool() const;
评估流
返回错误标志是否已设置(failbitbadbit)。

请注意,此函数返回的结果与成员函数 good 不同,而是与成员函数 fail 的结果相反。

如果设置了其中一个错误标志,则函数返回一个空指针,否则返回其他值。
如果设置了其中一个错误标志,则函数返回false,否则返回true

参数



返回值

如果设置了 failbitbadbit 之一,则返回空指针。否则返回其他值。
如果 failbitbadbit 均未设置,则返回true
否则返回 false

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// evaluating a stream
#include <iostream>     // std::cerr
#include <fstream>      // std::ifstream

int main () {
  std::ifstream is;
  is.open ("test.txt");
  if (is) {
    // read file
  }
  else {
    std::cerr << "Error opening 'test.txt'\n";
  }
  return 0;
}

数据竞争

访问流对象。
并发访问同一个流对象可能导致数据争用。

异常安全

强保证: 如果抛出异常,流不会发生任何改变。

另见