c++ – Multiple inputs on one line
Yes, you can input multiple items from
cin, using exactly the syntax you describe. The result is essentially identical to:
cin >> a; cin >> b; cin >> c;
This is due to a technique called operator chaining.
Each call to
operator>>(istream&, T) (where
T is some arbitrary type) returns a reference to its first argument. So
cin >> a returns
cin, which can be used as
(cin>>a)>>b and so forth.
Note that each call to
operator>>(istream&, T) first consumes all whitespace characters, then as many characters as is required to satisfy the input operation, up to (but not including) the first next whitespace character, invalid character, or EOF.
Yes, you can.
Because these functions are operator overloading functions, the usual way in which they are called is:
strm >> variable;
strmis the identifier of a istream object and
variableis an object of any type supported as right parameter. It is also possible to call a succession of extraction operations as:
strm >> variable1 >> variable2 >> variable3; //...
which is the same as performing successive extractions from the same object