std::basic_ios::operator bool

来自cppreference.com
< cpp‎ | io‎ | basic ios

operator void*() const;
(1) (C++11 前)
explicit operator bool() const;
(2) (C++11 起)
1)
fail()回报true,否则返回一个非空指针,则返回一个空指针。这个指针是隐式转换为bool,可用于在布尔上下文中.....
原文:
Returns a null pointer if fail() returns true, otherwise returns a non-null pointer. This pointer is implicitly convertible to bool and may be used in boolean context.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
2)
返回true如果流没有发生任何错误的I / O操作做好准备。具体而言,回报!fail().
原文:
Returns true if the stream has no errors occurred and is ready of I/O operations. Specifically, returns !fail().
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。
经营者可以使用流和函数返回引用流作为循环条件,在地道的C + +输入回路,如while(stream >> value) {...}while(getline(stream, string)){...}。这样的循环执行循环体,只有当输入操作成功.
原文:
This operator makes it possible to use streams and functions that return references to streams as loop conditions, resulting in the idiomatic C++ input loops such as while(stream >> value) {...} or while(getline(stream, string)){...}. Such loops execute the loop's body only if the input operation succeeded.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

目录

[编辑] 参数

(无)
原文:
(none)
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 返回值

true如果流没有发生任何错误,false否则.
原文:
true if the stream has no errors occurred, false otherwise.
文本通过谷歌翻译机器翻译。
你可以帮忙校正和验证翻译。点击此处查看指示。

[编辑] 示例

#include <iostream>
#include <sstream>
 
int main()
{
    std::istringstream s("1 2 3 error");
    int n;
    std::cout << std::boolalpha << "(bool)s is " << (bool)s << '\n';
    while (s >> n) {
        std::cout << n << '\n';
    }
    std::cout << std::boolalpha << "(bool)s is " << (bool)s << '\n';
}

输出:

(bool)s is true
1
2
3
(bool)s is false

[编辑] 另请参阅

ios_base::iostate flags basic_ios accessors
eofbit failbit badbit good() fail() bad() eof() operator bool() operator!()
false false false true false false false true false
false false true false true true false false true
false true false false true false false false true
false true true false true true false false true
true false false false false false true true false
true false true false true true true false true
true true false false true false true false true
true true true false true true true false true