В настоящее время я самостоятельно изучаю C++ Primer 5th. Вот что-то я не уверен. (Я не мог найти точный актуальный вопрос о F.A.Q).Как оценивается значение «std :: cin >>» в цикле while?
Рассмотрим это время цикла:
while(std::cin>>value){...} \\value here was defined as int.
текст книги говорит:
Это выражение читает следующий номер из стандартного ввода и магазинов, количество стоимости. Оператор ввода (§ 1.2, стр. 8) возвращает свой левый операнд, который в этом случае является std :: cin. Это условие, следовательно, проверяет std :: cin. Когда мы используем istream как условие, эффект заключается в проверке состояния потока. Если поток действителен, то есть, если поток не обнаружил ошибку, тогда тест будет успешным.
Мой вопрос: делает std::cin
читать ввод в value
первую затем проверить проверку std::cin
, или тест std::cin
первый затем решить, следует ли читать в «ценности»? Я довольно смущен, когда он «возвращает свой левый операнд».
Зная, что значение 'std :: cin >>' просто 'std :: cin.operator >> (value)' может помочь вам. – Holt