std::basic_ios::operator bool
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google. Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Щёлкните здесь, чтобы увидеть английскую версию этой страницы. (Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке.) |
<metanoindex/>
<tbody> </tbody> 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 |