input
描述 (Description)
应用于输入流的此运算符(>>)称为提取运算符。
声明 (Declaration)
以下是std :: basic_istream :: operator >>的声明。
C++98
basic_istream& operator>> (bool& val);
basic_istream& operator>> (short& val);
basic_istream& operator>> (unsigned short& val);
basic_istream& operator>> (int& val);
basic_istream& operator>> (unsigned int& val);
basic_istream& operator>> (long& val);
basic_istream& operator>> (unsigned long& val);
basic_istream& operator>> (float& val);
basic_istream& operator>> (double& val);
basic_istream& operator>> (long double& val);
basic_istream& operator>> (void*& val);
stream buffers (2)
basic_istream& operator>> (basic_streambuf<char_type,traits_type>* sb );
manipulators (3)
basic_istream& operator>> (basic_istream& (*pf)(basic_istream&));
basic_istream& operator>> (
basic_ios<char_type,traits_type>& (*pf)(basic_ios<char_type,traits_type>&));
basic_istream& operator>> (ios_base& (*pf)(ios_base&));
C++11
basic_istream& operator>> (bool& val);
basic_istream& operator>> (short& val);
basic_istream& operator>> (unsigned short& val);
basic_istream& operator>> (int& val);
basic_istream& operator>> (unsigned int& val);
basic_istream& operator>> (long& val);
basic_istream& operator>> (unsigned long& val);
basic_istream& operator>> (long long& val);
basic_istream& operator>> (unsigned long long& val);
basic_istream& operator>> (float& val);
basic_istream& operator>> (double& val);
basic_istream& operator>> (long double& val);
basic_istream& operator>> (void*& val);
stream buffers (2)
basic_istream& operator>> (basic_streambuf<char_type,traits_type>* sb );
manipulators (3)
basic_istream& operator>> (basic_istream& (*pf)(basic_istream&));
basic_istream& operator>> (
basic_ios<char_type,traits_type>& (*pf)(basic_ios<char_type,traits_type>&));
basic_istream& operator>> (ios_base& (*pf)(ios_base&));
参数 (Parameters)
val - 这是一个对象,其中存储了提取的字符所代表的值。
sb - 指向basic_streambuf对象的指针,该对象在其受控输出序列上复制字符。
pf - 获取并返回流对象的函数。 它通常是一个操纵器功能。
返回值 (Return Value)
返回basic_istream对象(* this)。
异常 (Exceptions)
修改val或sb指向的对象并修改流对象。
例外安全
基本保证 - 如果抛出异常,则对象处于有效状态。
例子 (Example)
在下面的示例中,对于std :: basic_istream :: operator >>
#include <iostream>
int main () {
int n;
std::cout << "Enter a number: ";
std::cin >> n;
std::cout << "You have entered: " << n << '\n';
std::cout << "Enter a hexadecimal number: ";
std::cin >> std::hex >> n;
std::cout << "Its decimal equivalent is: " << n << '\n';
return 0;
}
让我们编译并运行上面的程序,这将产生以下结果 -
Enter a number: 1
You have entered: 1
Enter a hexadecimal number: 5E
Its decimal equivalent is: 94