1. ホーム
  2. c++

[解決済み] 1回線で複数の入力が可能

2022-01-29 16:46:03

質問事項

簡単なことなので、誰も聞いていないのではと心配です。

標準入力から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まで(ただし,これらに限定されない)消費する。