访问main的返回值。
linux下 echo $?
window下 echo %ERRORLEVEL%
iostream库 输入输出流,一个流就是字符序列,是从IO设备中读取或写入IO设备。流表达的是随着时间推移,字符是顺序产生和消耗的。
cerr用来警告和错误消息,clog用来输出程序运行中的一般性消息。
一个表达式产生一个计算结果,它是由一个或者多个运算对象和(通常)一个运算符组成。
(std::cout << "Enter two number") << std::endl
表达式链。
链中每个运算符左侧的运算对象都是相同的。
字符串字面值常量string literal,由一对双引号引起的字符序列。
endl操纵符(manipulator)写入endl的效果结束当前行,并将与设备相关联的缓冲区中的内容刷入相应设备。缓冲刷新操作保证到目前为止程序产生的输出都真正的写入输出流中,而不是仅停留在内存中等待写入流。
注释界定符不能嵌套。
while(condition)
{
statement;
}
while(n <= 10)
{
int a = n;
n++;
}
在执行了statement后,判断条件后再次执行statement时, a这个临时对象会被重新定义吗。
当我们使用一个istream对象作为条件时,其效果是检测流的状态。当流是有效的,那么检测成功,若遇到文件结束符EOF,遇到无效输入时, istream对象的状态会变为无效。
从键盘输入文件结束符
window ctrl+z + enter
linux ctrl + d
使用文件重定向
a.out <infile >outfile
术语概念
buffer缓冲区,一个存储区域,用于保存数据。IO设备通常将输入输出的数据保存一个缓冲区中,读写缓冲区的动作与应用程序中的动作无关,我们可以显示刷新输出缓冲,以便我们强制的将缓冲区中的数据写入输出设备默认情况下,cin会刷新cout,程序非正常结束也会刷新cout。
cerr 一个ostream对象,与标准错误关联,通常写入到与标准输出流相同的设备。默认情况下,写到cerr中的数据是不缓冲的
clog一个ostream对象,与标准错误关联,默认情况,写到clog中的数据是被缓冲的,clog通常用于报告一个程序中的执行信息,存入一个执行文件。