私は役に立たないように見えました、そして、誰もそれを尋ねることを敢えてしないような単純な質問かもしれないと思います。
1つの行に標準入力から複数のものを入力できますか?私はこれを意味します:
float a, b;
char c;
// It is safe to assume a, b, c will be in float, float, char form?
cin >> a >> b >> c;
はい、記述したとおりの構文を使用して、cin
から複数の項目を入力できます。結果は基本的に次と同じです。
_cin >> a;
cin >> b;
cin >> c;
_
これは、「演算子チェーン」と呼ばれる手法によるものです。
operator>>(istream&, T)
(T
は任意の型)への各呼び出しは、その最初の引数への参照を返します。したがって、_cin >> a
_はcin
を返し、_(cin>>a)>>b
_などとして使用できます。
operator>>(istream&, T)
を呼び出すたびに最初にすべての空白文字が消費され、次に入力操作を満たすために必要な数の文字が、最初の次の空白文字、無効な文字、またはEOFまで含まれます。
はい、できます。
cplusplus.com から:
これらの関数は演算子オーバーロード関数であるため、通常の呼び出し方法は次のとおりです。
strm >> variable;
ここで、
strm
はistreamオブジェクトの識別子であり、variable
は正しいパラメーターとしてサポートされる任意のタイプのオブジェクトです。一連の抽出操作を次のように呼び出すこともできます。strm >> variable1 >> variable2 >> variable3; //...
これは、同じオブジェクト
strm
から連続した抽出を実行するのと同じです。
strm
をcin
に置き換えるだけです。