第5章 语句
5.1 简单语句
- 复合语句
5.3 条件语句
if 语句和switch
注意匹配和括号
5.3.2 swith 语句
不允许跨过变量的初始化的语句直接跳转到该变量作用域的另一个位置。
5.4 迭代语句
5.4.1 while语句
- 使用while循环
不知道到底要迭代多少次,比如读入输入内容,还有一种是想在循环结束后访问循环控制变量。
5.4.2 传统for语句
for语句中的多重定义
省略for语句中的某些部分
5.4.3 范围for语句
vector<int> v = {0,1,2,,3,4,5,6,7,8,9};
// 范围变量必须是引用类型,这样才能对元素执行写操作
for(auto &r : v) // 对于v中的每一个元素
r *=2; //将v中的每个元素的值翻倍
for(auto beg = v.begin(), end = v.end(); beg != end; ++beg)
{
auto &r =*beg; //r 必须为引用类型,这样才能对元素执行写操作
r *= 2; // 将v中每个元素的值翻倍
}
所以不能通过范围for语句增加vector对象(或者其他元素的对象),在范围for语句中,预存了end()的值。一旦在序列中添加(删除)元素。end函数的值就变得无效了。
5.4.4 do while语句
有分号,只执行一次。
因为对于do while来说先执行语句或者块,后判断条件,所以不允许在条件部分定义变量
5.5 跳转语句
5.5.1 break语句
5.5.2 continue语句
5.5.1 goto 语句
不要在程序中使用goto语句,因为使得程序即难读也难修改。
5.6 try语句块和异常处理
- throw 表达式
- try语句块
- 一套异常类
5.6.3 标准异常
stdexcept