Я заметил, что во многих файлах исходного кода можно увидеть, что письмо к cout
непосредственно перед чтением из cin
без явного флеша:Явный флеш, необходимый для чередующихся операций cout и cin?
#include <iostream>
using std::cin; using std::cout;
int main() {
int a, b;
cout << "Please enter a number: ";
cin >> a;
cout << "Another nomber: ";
cin >> b;
}
Когда это выполняется, и пользователь вводит 42[Enter]73[Enter]
он хорошо печатает (г ++ 4.6 , Ubuntu):
Please enter a number: 42
Another number: 73
это определяется поведение, то есть делает стандарт сказать, что каким-то образом cout
промывается перед тем cin
читается? Могу ли я ожидать такого поведения на всех соответствующих системах?
Или следует разместить cout << flush
после этих сообщений?
спасибо за дополнительную информацию о часах. – towi