自己总结的,如有纰漏,望 批评指正!
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对象赋给(按顺须读取输入流)右操作数保存。