Пространства имён
Варианты
Действия

std::basic_ios::operator bool

Материал из cppreference.com
< cpp‎ | io‎ | basic ios

 
 
Библиотеки ввода / вывода
I / O манипуляторов
C-стиль I / O
Буферы
Оригинал:
Buffers
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(устарело)
Потоки
Оригинал:
Streams
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Абстракций
Оригинал:
Abstractions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Файл I / O
Оригинал:
File I/O
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Струнный I / O
Оригинал:
String I/O
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Массив I / O
Оригинал:
Array I/O
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(устарело)
(устарело)
(устарело)
Типы
Оригинал:
Types
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Интерфейс Ошибка категории
Оригинал:
Error category interface
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
(C++11)
 
std::basic_ios
Функции-члены
Государственных функций
Оригинал:
State functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
basic_ios::operator bool
Форматирование
Оригинал:
Formatting
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Разное
Оригинал:
Miscellaneous
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Охраняемые функций-членов
Оригинал:
Protected member functions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
 
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.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
2)
Возврат true, если поток имеет никаких ошибок не возникало, и готова ввода / вывода. В частности, возвращается !fail().
Оригинал:
Returns true if the stream has no errors occurred and is ready of I/O operations. Specifically, returns !fail().
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Этот оператор позволяет использовать потоки и функции, которые возвращают ссылки на потоки, как цикл условий, в результате чего идиоматических 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.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править] Параметры

(Нет)

[править] Возвращаемое значение

true, если поток имеет никаких ошибок не возникало, false иначе.
Оригинал:
true if the stream has no errors occurred, false otherwise.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Пример

#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