`
bolutes
  • 浏览: 866487 次
文章分类
社区版块
存档分类
最新评论

C++Primer学习笔记——初窥输入/输出

 
阅读更多

iostream库的基础是两种命名为istream和ostream的类型,分别表示输入流和输出流。流是指要从某种IO设备上读入或写出的字符序列。术语“流”试图说明字符是随着时间顺序生成或消耗的。

输出操作符(<<)

std::cout<<"Enter two numbers:"<<std::endl;

这个语句使用了两次输出操作符。每个输出操作符实例都接受两个操作数:左操作数必须是ostream对象;有操作数是要输出的值。操作符将右操作数写到作为其左操作数的ostream对象。当操作符是输出操作符时,结果是左操作数的值,也就是说,说出操作返回的值是输出流本身。

既然输出操作符返回的是其左操作数的值,那么我们就可以讲输出请求链接在一起。等价于:

(std::cout<<"Enter two numbers:")<<std::endl;

因为(std::cout<<"Enter two numbers:")返回其左操作数std::cout,还等价于:

std::cout<<"Enter two numbers:";;

std:cout<<std::endl;

endl是一个特殊符,称为操纵符(manipulator),将他写入输出流时,具有输出换行的效果,并刷新与设备有有关的缓冲区(buffer),通过刷新缓冲区,用户可以立即看到写入到流中的输出。

程序员经常在调试过程中插入输入输出语句,这些语句都应该刷新输出流。忘记刷新输出流可能会造成输出停留在缓冲区中,如果程序崩溃,将会导致对程序崩溃位置的错误判断。

输入操作符(>>)

std::cin>>v1>>v2;

他接受一个istream对象作为其左操作数,接受一个对象最为右操作数,他从istream操作数读取数据并保存到右操作数中。像输出操作符一样,输入操作符返回其左操作数作为结果,由于输入操作符返回去左操作数,我们可以将输入请求序列合并成单个语句。等价于:

std::cin>>v1;

std::cin>>v2;

如何修改错误:按照错误报告的顺序改正错误是个好习惯,通常一个错误可能会产生一连串的影响,并导致编译器报告比实际多得多的错误。最好是每次修正后或最多修正一些显而易见的错误后,就重新编译代码。这个循环就是总所周知的编辑——编译——调试

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics