第一章 开始
1.输入输出:iostream库
-
包含了两个基础类型 istream 和 ostream,分别表示输入流和输出流。
-
一个流就是一个字符序列,是从IO设备读出或者写入的
-
流 表达的意思是:随着时间的推移,字符顺序生成和消耗
1.1 输入输出对象
- cin(istream类型的对象),称为标准输入
- cout (ostream类型的对象),称为标准输出
- cerr (ostream类型对象),用来输出警告和错误消息,称为标准错误
- clog(ostream类型对象),输出程序运行时的一般性信息
1.2 向流写入数据(以cout << "Hello" << endl;
为例)
- <<为输出运算符,<<运算符接受两个运算对象,左侧的运算对象必须是一个ostream对象,右侧的运算对象是需要打印的值,运算过程为将右侧的值写入到左侧的运算对象中,最终返回已经写入给定值的运算对象
- 所以,对于例子来说,
cout << "Hello" << endl;
本质上是(cout << "Hello") << endl;
第一次<<运算的结果作为第二次 << 运算的左侧运算对象。这条语句是进行了两次 << 运算,最终返回值是标准输出cout - 对于“Hello”来说,这条消息是一个字符串字面值常量,在双引号之间的文本被打印到标准输出
- 对于 endl来说,这是一个被称为操纵符的特殊值,写入到endl的效果是结束当前行,并将和设备相关联的缓冲区刷到设备中,这个刷新操作可以保证目前为止程序产生的输出都真正写入到输出流里面,而不是停留在内存中等待写入流
- tips: 当使用输出调试的时候,应当保证不断刷新流,不然会出现程序崩溃了,之前的输出还停留在缓冲区中的情况,导致对bug的错误推断
1.3 从流读取数据
- 同理,>>为输入运算符,他和输出运算符相似,接受一个istream作为左侧运算对象,接受一个对象作为右侧运算对象,他从左侧istream读入数据,存入给定右侧对象中,运算符返回其左侧运算对象作为计算结果
- 因此
cin >> a >> b;
等价于(cin >> a) >> b;
2 类的成员函数
- 成员函数是定义为类的一部分的函数,有时也被称为方法
- 点运算符 .
- 只能用于类类型的对象,左侧的运算对象必须是一个类类型的对象,右侧运算对象必须是该类型的一个成员名
- 运算结果为右侧运算对象指定的成员
- 调用运算符 ()
- 用来调用一个函数
- ()里面放置实参列表(可能为空)