私は役に立たないと思っています。誰もそれを尋ねることがないような単純な質問かもしれません。複数の入力を1行に入力
標準入力から複数のものを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;
私は役に立たないと思っています。誰もそれを尋ねることがないような単純な質問かもしれません。複数の入力を1行に入力
標準入力から複数のものを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までが消費されます。
はい、できます。
これらの機能は、機能を演算子オーバーロードされているので、それらが呼び出される通常の方法は次のとおりです。
strm
はIStreamのオブジェクトの識別子であり、variable
があるstrm >> variable;
任意の型のオブジェクトは、右のパラメータとしてサポートされています。同じオブジェクト
strm
から連続抽出を行うことと同じであるstrm >> variable1 >> variable2 >> variable3; //...
:それとして、抽出操作を連続して呼び出すことも可能です。
strm
をcin
に置き換えてください。
いくつかの質問には質問する必要はありません。試してみるとどうなりますか? – outis
私は現在、これを試す方法がある場所にいません。 – Joshua
@Joshua [インターネット](http://ideone.com/)[アクセス](http://codepad.org/)はありませんか? –