标准I/O对象与输入输出操作符

来源:互联网 发布:淘宝牛排哪个牌子好 编辑:程序博客网 时间:2024/06/05 17:25

自己总结的,如有纰漏,望 批评指正!

      C++标准I/O库的基类是iostream,从它派生出两个基类:ostream和istream,分别为输出流类与输入流类。

       C++处理标准I/O的对象有四个:cin、cout、 cerr、 clog,其中:

       cin是处理istream的标准I/O对象。

       cout、cerr、clog是处理ostream的标准I/O对象。

与之对应的有两个操作符:输出操作符:“<<”和 输入操作符 “>>”。

两个操作符的用法,例如:

1)        cout<<”This is a test”<<”of A!”<<endl;

2)        cin>>i>>j: (假设 int i,j)

二者均为二元操作符,都返回左操作数,[Pivan1] 意义分别为:

输出操作符:“<<”把右操作数赋给左操作数(ostream对象)作为ostream对象返回,因此1)式可等价于:

((cout<<”This is a test”)<<”of A!”)<<endl;

或者

cout<<”This is a test”;

cout<<”of A!”;

cout<<endl;

输入操作符 “>>”把左操作数(istream对象)赋给右操作数保存并把剩余的istream对象返回,cin>>i>>j的意义就是先从cin标准输入流中读取一个值赋给i,然后再从cin输入流中读取下一个值赋给j,因此2)式等价于:

cin>>i;

cin>>j;

或者(cin>>i)>>j;

需要注意的是:如果cin标准输入流输入的值类型和i与j本身的类型不相同,则操作无效,即返回一个无效的istream对象。

例:int value; while(std::cin>>value),当输入不为整型时,即返回一个无效istream对象,从而循环条件失败。

[注]一定理解为二元操作符,不要忘记!并分清各自执行的操作是不一样的,<<是将右操作数赋给左操作数ostream对象,>>是将左操作数的istream对象赋给(按顺须读取输入流)右操作数保存。

原创粉丝点击