То, как это написано, может привести к неожиданным результатам.Например, у вас может быть сеанс, который выглядит так:
String: Foo 12 3.14159 1.5 <enter>
Int: Float: Double: Foo 12 3.14159 1.5
Я знаю, что вы только что привели пример, но это почти наверняка не то, что вы хотите сделать.cin
никогда не зарегистрирует какой-либо ввод до тех пор, пока не будет нажата кнопка ввода, поэтому, возможно, вы все равно захотите идти построчно, используя getline
.В противном случае все станет так, как описано выше.
Даже если бы у вас был доступ к каждому нажатию клавиши, вы, вероятно, не могли бы выполнить это в строке, как кажется, вы хотите.