-
输入输出
- 输出运算符(<<):<<运算符接受两个运算对象:左侧的运算对象必须是一个ostream对象,右侧的运算对象是要打印的值。此运算符将给定的值写道给定的ostream对象中。输出运算符的计算结果就是其左侧运算对象。即,计算结果就是我们写入给定值的那个ostream对象。
- 输入运算符(>>):>>运算符接受一个istream作为其左侧运算对象,接受一个对象作为其右侧运算对象。它从给定的istream读入数据,并存入给定的对象中。输入运算符返回其左侧运算对象作为其计算结果。
操纵符(endl):写入endl的效果是结束当前行,并将与设备关联的缓冲区(buffer)中的内容刷到设备中。缓冲刷新操作可以保证到目前为止程序所禅僧的所有输出都真正写入输出流中,而不是停留在内存中等待写入流。
-
std::指出名字cout和endl是定义在名为std的命名空间(namespace)中的。
-
初始化变量就是在变量创建的同时为它赋予一个值。
-
当使用istream对象作为条件时,其效果是检测流的状态。如果流时有效的,即流未遇到错误,那么检测成功。当遇到文件结束符(end-of-file),或遇到一个无效的输入时(例如读入的值不是一个整数),istream对象的状态会变为无效。处于无效状态的istream对象会使条件变为假。
文键盘输入文件结束符:
windows:ctrl+Z,然后按enter+return;
unix/mac os x:ctrl+D
- #include 引用标准库的头文件时,用<>包围头文件名,引用不属于标准库的头文件时,用""包围头文件名
缓冲区(buffer):一个存储区域,用于保存数据,。IO设施通常将输入(或输出)数据保存在一个缓冲区中,读写缓冲区的动作与程序中的动作是无关的。我们可以显式地刷新输出缓存,以便强制将缓冲区中的数据写入设备。默认情况下,读cin会刷新cout,程序非正常终止时也会刷新cout。 - 命名空间(namespace):将库定义的名字放在一个单一位置的机制。命名空间可以帮助避免不经意的名字冲突。C++标准库定义的名字在命名空间std中。
- 作用域运算符(::运算符):用处之一是访问命名空间中的名字。如std::cout表示命名空间std中的名字cout。