С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

когда failbit устанавливается в 1? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Перемещение символа в окне консоли http://www.cyberforum.ru/cpp-beginners/thread1080782.html
помогите плиз, здесь нужно что б символ бегал по екрану, а не рисовал. #include <iostream> #include <conio.h> #include <Windows.h> using namespace std; void main(){ char code;...
C++ не могу разобраться с графической заставкой помогите с графической заставкой плиз: задание: Необходимо выполнить следующие этапы: 1)по графическому окну случайным образом перемещаются точки и прямоугольники 2)Теперь к имеющимся точкам и... http://www.cyberforum.ru/cpp-beginners/thread1080772.html
Найти строку матрицы с максимальным нечетным элементом поменять эту строку местами с нулевой строкой C++
дана квадратная матрица получаемых через rand() найти строку матрицы с максимальным нечетным элементом поменять эту строку местами с нулевой строкой вывести на печать начальный и конечный вариант...
C++ Дано натуральное число n, вычислить
Помогите пожалуйста решить задачи 1. Дано натуральное число n, вычислить а) \frac{1}{sin1}+\frac{1}{sin1+sin2}+...+\frac{1}{sin1+sinn} б) \sqrt{2+\sqrt{2+...+\sqrt{2}}} в)...
C++ Работа с файлами (дозапись в файл) http://www.cyberforum.ru/cpp-beginners/thread1080764.html
вообщем вот код не работает добавление в файл #include <iostream> //IO #include <string> //strings #include <fstream> // for work with files #include <iomanip> // for setw #include <conio.h>...
C++ В двухмерном целочисленном массиве (размеры массива N, M и значения его элементов вводить с клавиатуры) найти указанное значение. Массив в памяти разм Помогите решить задания: На простом языке программирования чтобы было просто и понятно. 4. Найти минимальный элемент и поменять его с первым элементом. 5. Найти максимальный элемент и поменять... подробнее

Показать сообщение отдельно
Kastaneda
Jesus loves me
Эксперт С++
4697 / 2901 / 238
Регистрация: 12.12.2009
Сообщений: 7,387
Записей в блоге: 2
Завершенные тесты: 1
24.01.2014, 23:11
Цитата Сообщение от alsav22 Посмотреть сообщение
Условные операторы, при проверке состояния потока, вызывают fail()
В конечном счете все сводится к вызову fail(), но технически проверка происходит так: оператор >> возвращает ссылку на поток. if'у для проверки условия нужно выражение bool, поэтому поток нужно привести к bool. Явно это сделать нельзя, поэтому, согласно стандарту, поток в итоге приводится к void*. А где-то в недрах std::istream (или где-то в предках) есть operator void *(), который может выглядеть примерно так:
C++
1
2
3
4
operator void *() const
{
    return fail() ? 0 : (void*)this;
}
поэтому код, заключенный в if () {} выполняется в случае !fail();
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.