- istream[meta header]
- std[meta namespace]
- basic_istream[meta class]
- function[meta id-type]
// マニピュレータ
// 3つとも関数へのポインタを引数に取る。
basic_istream<CharT, Traits>& operator>>(basic_istream<CharT, Traits>& (*pf)(basic_istream<CharT, Traits>&));
basic_istream<CharT, Traits>& operator>>(basic_ios<CharT, Traits>& (*pf)(basic_ios<CharT, Traits>&));
basic_istream<CharT, Traits>& operator>>(ios_base& (*pf)(ios_base&));
// bool値・数値・ポインタ
basic_istream<CharT, Traits>& operator>>(bool& n);
basic_istream<CharT, Traits>& operator>>(short& n);
basic_istream<CharT, Traits>& operator>>(unsigned short& n);
basic_istream<CharT, Traits>& operator>>(int& n);
basic_istream<CharT, Traits>& operator>>(unsigned int& n);
basic_istream<CharT, Traits>& operator>>(long& n);
basic_istream<CharT, Traits>& operator>>(unsigned long& n);
basic_istream<CharT, Traits>& operator>>(long long& n); // C++11
basic_istream<CharT, Traits>& operator>>(unsigned long long& n); // C++11
basic_istream<CharT, Traits>& operator>>(float& f);
basic_istream<CharT, Traits>& operator>>(double& f);
basic_istream<CharT, Traits>& operator>>(long double& f);
basic_istream<CharT, Traits>& operator>>(void*& p);
// ストリームバッファ
basic_istream<CharT, Traits>& operator>>(basic_streambuf<char_type, Traits>* sb);
ストリームからの入力またはマニピュレータの実行を行う。
- マニピュレータを実行するオーバーロードそれ自体は、書式化入力関数・非書式化入力関数いずれにも該当しない。
- マニピュレータが書式化入力関数・非書式化入力関数であるということはあり得る(例:
ws
)。
- マニピュレータが書式化入力関数・非書式化入力関数であるということはあり得る(例:
- 数値型(
bool
も含む)とvoid*
に対するオーバーロードは、書式化入力関数である。 basic_streambuf
に対するオーバーロードは、非書式化入力関数である。
pf(*this)
を呼び出す。
sentry
オブジェクトを構築する。sentry
オブジェクトが失敗を示した場合、何もしない。num_get::get
を使用して入力のパース・数値への変換を行う。- ただし、
int
とshort
の場合は、long
を実引数に取るものを使用する。結果がint
とshort
それぞれの範囲外の値になった場合、failbit
を追加する。
- ただし、
num_get::get
から得られたiostate
値を実引数にしてsetstate
関数を呼び出す。
ストリームからの入力を別のストリームバッファに出力する。
- 仮引数
sb
がヌルポインタの場合、setstate(failbit)
を呼び出して終了する。 sentry
オブジェクトを構築する。sentry
オブジェクトが失敗を示した場合、何もしない。- 以下のいずれかを満たすまで、
this
内のストリームバッファから文字を入力してsb
へ出力する。- EOFに達した。
- 出力処理に失敗した(この場合、失敗したときの文字は入力側のストリームバッファに戻される)。
- 例外が発生した。
入力がなされなかった場合、setstate(failbit)
を呼び出す。
*this
#include <iostream>
int main() {
int x;
// 好きな整数を入力してください
if (std::cin >> x) {
std::cout << x << "が入力されました。" << std::endl;
}
}
- std::cin[link /reference/iostream/cin.md]
1
1が入力されました。
TBD
- C++98
- C++11:
long long
、unsigned long long
を実引数として受け取るものが追加された
- このほかの
>>
演算子関数 - 入力対象の型