C++ Primer 第五版 第一章总结

   由于第一章只是简单介绍,我就没什么好总结的。于是,我就写一些我觉得自己要记住和自己以前不知道的知识点吧。

   1. iostream库包含两个基础类型 istream 和 ostream,分别表示输入流和输出流。一个流就是一个字符序列,是从IO设备读出或写入IO设备的。术语“流”(stream)想要表达的是,随着时间的推移,字符是顺序生成或消耗的。

    2. iostream库定义了4个IO对象。为了处理输入,此库定义了一个名为 cin 的istream类型的对象。这个对象也被称为标准输入。对于输出,此库定义了一个名为 cout 的 ostream类型的对象。此对象也被称为标准输出。标准库还定义了其他两个ostream对象,名为 cerr 和 clog,通常用 cerr 来输出警告和错误消息,用 clog 来输出程序运行时的一般性信息。

   3. 输出运算符(<<)的计算结果是其左侧运算对象,输入运算符(>>)与输出运算符类似,也是返回左侧运算对象作为其计算结果。标准库定义了不同版本的输入输出运算符,来处理不同类型的运算对象。我觉得就是对输入输出运算符进行运算符重载。其实我有个疑问,那这个输入输出运算符不就是和左右移位运算符一样了吗? 

   4. endl是一个操纵符。写入endl的效果是结束当前行,并将与设备关联的缓冲区(buffer)中的内容刷到设备中。缓冲刷新操作可以保证到目前为止程序所产生的所有输出都真正写入到输出流中,而不是仅停留在内存中等待写入流。

   5. 命名空间可以帮助我们避免不经意的名字定义冲突,以及使用库中相同名字导致的冲突。标准库定义的所有名字都在命名空间  std中。作用域运算符是 :: 。

   6. 在C++中,用 cin 来读取数量不定的数据时,通常的写法是:

while(std::cin >> value)

    这段代码中,循环地从标准输入( cin )中读取数据。因为 >> 运算符的结果为左侧运算对象,所以也就是 cin。因此循环的判断条件是 cin 对象,而当我们使用一个istream对象作为条件时,其效果是检测流的状态。如果流是有效的,即流未遇到错误,那么检测成功,循环继续执行。当遇到文件结束符(EOF),或遇到一个无效输入时(例如读入的值不是一个整数),istream对象的状态就会变为无效。处于无效状态的istream对象会使条件变为假。

  7. 标准库头文件通常不带后缀。编译器一般不关心头文件名的形式,但有的IDE对此有特定要求。

      

  

猜你喜欢

转载自blog.csdn.net/sinat_30955745/article/details/83988141