输入与输出
iostream库
istream:输入流,cin是istream类的对象(很多人不知道)
ostream:输出流,cout是ostream类的对象
cerr(标准错误流(非缓冲))
clog(标准错误流(缓冲))
cout是在终端显示器输出,cout流在内存中对应开辟了一个缓冲区,用来存放流中的数据,当向cout流插入一个endl,不论缓冲区是否漫了,都立即输出流中所有数据,然后插入一个换行符。
cerr流对象是标准错误流,指定为和显示器关联,和cout作用差不多,有点不同就是cout通常是传到显示器输出,但可以被重定向输出到文件,而cerr流中的信息只能在显示器输出。
clog流也是标准错误流,作用和cerr一样,区别在于cerr不经过缓冲区,直接向显示器输出信息,而clog中的信息存放在缓冲区,缓冲区满或者遇到endl时才输出。 clog是cerr的缓冲版本。
<<:输出运算符,将字符串输出到outstring对象的cout中,因为<<是在类里定义的,所以可重载,即可以输出不同类型的值。
>>:输入运算符,可连续输入,返回的还是cin对象。(3<x<10中,x与3比较后返回的是布尔类型的值,不能再进行比较)
std::endl:不仅仅是一个回车,它可以将内容从缓冲区刷新到设备上(显示器)。如果写代码时不经常刷新缓冲区,代码崩溃的时候,内容在缓冲区里不会正确打印出来。(main函数结束后会将缓冲区的内容全部刷新到设备上)
控制流
for(int i=0;i<10;i++)
{
//循环体
}
执行顺序
- 初始化语句
- 循环条件
- 循环体
- 表达式
- 循环条件
- 循环体
- 表达式
- 循环条件
- .....
这个应该是个很小的细节吧。