《C++ Primer》读书笔记(第一章 开始)

本系列文章为作者阅读《C++ primer》后总结的重要知识点,对简单的基础语法和常识进行了删去,总结出容易遗忘和较为细节的知识点,适合有一定C语言语法基础的同志阅读。这本书实在是太厚了,但是又像是一个宝库,希望我精简后的知识点可以为以前阅读过该书的同志的复习带来便利,为从未阅读过该书的同志做一个阅读的引导。

1.2 初识输入输出

iostream库包含两个基础类型:istreamostream,表示输入流输出流

一个流就是一个字符序列,是从IO设备读入或写入IO设备的。
“流”:随着时间的推移,字符是顺序生成或消耗的
标准库定义了4个IO对象。
1.cin:istream类型的对象,标准输入。
2.cout:ostream类型的对象,标准输出。
3.cerr:ostream类型的对象,标准错误。用来输出警告和错误信息。
4.clog:输出程序运行时的一般性信息。

#include :告诉编译器我们想要使用iostream库。尖括号中的名字指出了一个头文件。每个使用标准库设施的程序都必须包含相关头文件。#include指令和文件的名字必须写在同一行中。通常情况下,#include指令必须出现在所有函数之外。

std::cout<<"Enter two numbers:"; :给用户打印一条消息。这个消息是一个字符串字面值常量

std::cout<操纵符的特殊值。效果是结束当前行,并将于设备关联的缓冲区中的内容刷到设备中。缓冲刷新操作可以保证目前为止程序产生的所有输出都真正写入输出流中,而不是仅仅停留在内存中等待写入流

前缀std::指出名字cout和endl是定义在名为std的命名空间中的。命名空间可以帮我们避免不经意的名字定义冲突,以及使用库中相同名字导致的冲突。标准库定义的所有名字都在命名空间std中。

1.3 注释简介

注释界定符不能嵌套。(/**/)

1.4 控制流

当使用一个istream对象作为条件,其效果是检测流的状态。若流有效,即流未遇到错误,则检测成功。遇到文件结束符或一个无效输入(如读入的值不是一个整数)。istream对象的状态会变为无效。处于该状态的istream对象会使条件变为假。

在Windows系统中,敲Ctrl+z,然后按Enter键。在Unix系统中,包括Mac OS X系统中没用Ctrl+d

编译器的一部分工作是寻找程序文本中的错误。编译器没有能力检查一个程序是否按照作者意图工作,但是可以检查形式上的错误。如:
1.语法错误(syntax error)
如endl后使用了冒号而不是分号,字符串常量两侧漏掉了引号,return语句漏掉了分号等。
2.类型错误(type error)
如像一个期望参数为int的函数传递了一个字符串字面值常量。
3.声明错误(declaration error)
对来自标准库的名字忘记使用std::、标识符名字拼写错误等。

当你选择一种格式风格时,思考它会对程序的可读性和易理解性有什么影响,而一旦选择了一种风格,就要坚持使用

1.5 类简介

C++最初的一个设计焦点就是能定义使用上像内置类型一样自然的类类型。(class type)

习惯上,头文件根据其中定义的类的名字来命名。通常用.h作为头文件的后缀。标准库头文件通常不带后缀。编译器一般不关心头文件名的格式,但有的IDE对此有特定要求

包含来自标准库头文件时,应该用<>包围头文件名。对于不属于标准库的头文件,则用""包围

从键盘反复敲入记录作为输入,非常乏味。大多数OS支持文件重定向,这种机制允许我们将标准IO与命名文件关联起来:
$ addItems outfile
假定$是IO提示符,我们的程序已经编译为addItems.exe的可执行文件(在UNIX中是addItems),则上述命令会从一个名为infile的文件读取记录,并将结果写入到outfile中,两个文件都位于当前目录。

你可能感兴趣的:(c++,c++-primer)