【发布时间】:2013-03-15 15:10:32
【问题描述】:
使用istream::get和operator>>(istream&, char&)有什么区别:
char ch;
cin.get(ch);
cin>>ch;
你能解释一下block 1无效而block 2有效的可能原因
cin.get().get();//Error **block 1**
char ch;
cin.get(ch).get(ch);//Doesn't gives an error **block 2**
我的猜测是:
块 1 相当于 cin>> >>; 而块 2 cin>>ch>>ch;
【问题讨论】:
-
别猜了,找一本编程入门读读。我建议 Bruce Eckel 的“Thinking in C++”。
-
C++ 类是否提供了一些不同的方式来输入一些数据。您可以使用 operator override operator>>(std::istream &, T &) 或一些静态方法。在不受某些数据类型限制的意义上,使用 >> 运算符更加通用。
标签: c++ data-structures