补充
这里是False,因为如果输入的是3.5,cin不会读入.5,.5会被留在缓存区中
- 并不会报错并立即停止,而是挂起流而已,之后的操作无效。
B会有Error,不能输入进入常量
ignore会读到直到有整数500时,或者换行符
cin>>的读入,不会读入换行符,也不会把它从缓存区中删去
getline不会读入换行符,但会把它从缓存区中删去
- 缺省,是会将原文件中的内容擦除
string类型可以直接进行比较
条件运算符(同C语言)
短路机制
- 意思就是在多个条件运算符的情况下,如果前面的条件运算已经可以确定整个表达式被确定,就会不继续判断后面的条件
- 作用,实现安全保护。
测试的方法
- 白盒法,看代码
- 黑盒法,功能测试,不需要看代码
- 自己对自己,只可以进行调试,不是测试
函数参数传递机制
用法:在函数参数描写时,在后面加上&
在使用引用传递机制时
- 实参必须是变量,不能是常量,也不能是表达式
- 实参和形参的类型必须完全一致
- 但是形参可以是常量(引用常量)
- 使用该机制返回多个结果。
本质上,是一个变量作用域的拓展
流和数组
流和数组作为参数传递时,就已经是参数传递的方式了
普通的引用参数
返回引用
- 函数的返回值是一个引用,返回值就是s[5],这是一个别名
- 因此可以做左值使用
独立引用
- 用于在一些复杂的point->next->entry名字中时
- 可以设置一个别名;
- 需要注意的是:独立引用必须初始化
- 一旦初始化,就不可以再赋值
什么是驱动函数?
本身不起作用,只是在函数内部调用了有实际作用的函数(起了驱动作用)
什么是哑元函数
做一个返回一些设置好的值的函数,方便测试工作
前态和后态
断言函数
- 如果表达式为假,直接报错!
一些练习
True
- False
- False - 所有的函数都是兄弟关系
- 不允许在函数中定义函数
- 声明并不会分配内存;定义是已分配内存
- 在同一个作用域下,不可以有重名标识符;
- 可以声明多次,但只能定义一次
- true
作用域与生命周期和C语言完全兼容