Namespaces
Variants

std:: cin, std:: wcin

From cppreference.net
< cpp ‎ | io
定義済みヘッダー <iostream>
extern std:: istream cin ;
(1)
extern std:: wistream wcin ;
(2)

グローバルオブジェクト std::cin および std::wcin は、標準C入力ストリーム stdin に関連付けられた、実装定義の型( std::streambuf から派生)のストリームバッファからの入力を制御します。

これらのオブジェクトは、型 std::ios_base::Init のオブジェクトが構築される初回時またはそれ以前に初期化されることが保証されており、 順序付けられた初期化 を持つ静的オブジェクトのコンストラクタおよびデストラクタ内で使用可能です (オブジェクトが定義される前に <iostream> がインクルードされている限り)。

sync_with_stdio ( false ) が発行されていない限り、これらのオブジェクトへのフォーマット済みおよび未フォーマット入力について、複数のスレッドからの同時アクセスは安全です。

初期化後:

1) std :: cin . tie() & std:: cout を返します。これは、 std::cin に対するあらゆる入力操作が、出力待ちの文字がある場合に std:: cout . flush() の呼び出しを強制することを意味します。
2) std :: wcin . tie ( ) & std:: wcout を返します。これは、 std::wcin に対する入力操作が、出力待ちの文字がある場合に std:: wcout . flush ( ) の呼び出しを強制することを意味します。

注記

名前の「c」は「character」(文字)を指します( stroustrup.com FAQ ); cin は「character input」(文字入力)を意味し、 wcin は「wide character input」(ワイド文字入力)を意味します。

#include <iostream>
struct Foo
{
    int n;
    Foo()
    {
        std::cout << "Enter n: "; // no flush needed
        std::cin >> n;
    }
};
Foo f; // static object
int main()
{
    std::cout << "f.n is " << f.n << '\n';
}

出力例:

Enter n: 10
f.n is 10

関連項目

標準ストリームオブジェクトを初期化する
( std::ios_base の公開メンバークラス)
標準C出力ストリーム stdout への書き込み
(グローバルオブジェクト)
入力ストリームに関連付けられた FILE * 型の式
出力ストリームに関連付けられた FILE * 型の式
エラー出力ストリームに関連付けられた FILE * 型の式
(マクロ定数)