basic_istream::operator>>返回值为类本身

basic_istream::operator>>


对内容的函数或读取输入流格式的数据。

basic_istream& operator>>(
   basic_istream& (*_Pfn)(basic_istream&)
);
basic_istream& operator>>(
   ios_base& (*_Pfn)(ios_base&)
);
basic_istream& operator>>(
   basic_ios<Elem, Tr>& (*_Pfn)(basic_ios<Elem, Tr>&))
;
basic_istream& operator>>(
   basic_streambuf<Elem, Tr> *_Strbuf
);
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>>(
   void *& _Val
);
basic_istream& operator>>(
   float& _Val
);
basic_istream& operator>>(
   double& _Val
);
basic_istream& operator>>(
   long double& _Val
);

_Pfn

函数指针。

_Strbuf

类型 stream_buf对象。

_Val

要读取的流。值。

流 (*this)。

<istream> 标头还定义几个全局提取运算符。 有关详细信息,请参阅operator>> (<istream>)

第一个成员函数可以确保窗体 istr >>ws 的表达式称为 ws(istr),然后 *this返回。 第二个和第三个函数来确保其他操控程序,例如 hex,类似的行为。 剩余的函数的格式配置输入函数。

函数:

basic_istream& operator>>(
    basic_streambuf<Elem, Tr> *_Strbuf);

_Strbuf提取元素,因此,如果_Strbuf 不是空指针,并且插入它们。 在到达文件尾的提取终止。 它还停止,而提取相关的元素粘贴,因此,如果失败或引发捕获,但异常不是异常 ()。 如果函数不提取元素,它调用 setstate(failbit)。 在任何情况下,函数返回 *this

函数:

basic_istream& operator>>(bool& _Val);

提取字段并转换为布尔值通过调用 use_facet <num_get<Elem初始>(getloc)。 捕获(初始( rdbuf),Init(0),*thisgetloc_Val)。 在这里,初始 被定义为ElemTr>。istreambuf_iterator< 函数返回 *this

函数:

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>>(void *& _Val);

提取每个字段并将其转换为数值时通过调用 use_facet<num_get<Elem初始>(getloc)。 捕获(初始( rdbuf),其中 Init(0),*thisgetloc_Val)。 此处,istreambuf_iterator<,因为ElemTr>和 _Val 具有类型 longunsigned longvoid*。需要,定义了 初始

如果转换的值不能表示为 _Val类型,将调用函数 setstate(failbit)。 在任何情况下,函数返回 *this

函数:

basic_istream& operator>>(float& _Val);
basic_istream& operator>>(double& _Val);
basic_istream& operator>>(long double& _Val);

提取每个字段并将其转换为数值时通过调用 use_facet<num_get<Elem初始>(getloc)。 get(初始( rdbuf),其中 Init(0),*thisgetloc_Val)。 此处,istreambuf_iterator<,因为ElemTr>和 _Val 都具有 long doubledouble 类型根据需要,定义了 初始

如果转换的值不能表示为 _Val类型,该函数调用 setstate(failbit)。 在任何情况下,它将返回 *this

// istream_basic_istream_op_is.cpp
// compile with: /EHsc
#include <iostream>

using namespace std;

ios_base& hex2( ios_base& ib ) 
{
   ib.unsetf( ios_base::dec );
   ib.setf( ios_base::hex );
   return ib;
}

basic_istream<char, char_traits<char> >& somefunc(basic_istream<char, char_traits<char> > &i)
{
   if ( i == cin ) 
   {
      cerr << "i is cin" << endl;
   }
   return i;
}

int main( ) 
{
   int i = 0;
   cin >> somefunc;
   cin >> i;
   cout << i << endl;
   cin >> hex2;
   cin >> i;
   cout << i << endl;
}

10
10

i is cin
10
10
10
16

页眉: <istream>

命名空间: std

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值