C++ Primer笔记5---chapter5易错点
Posted Ston.V
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ Primer笔记5---chapter5易错点相关的知识,希望对你有一定的参考价值。
1.对于for循环,曾经一直有个易忘的点:for中的条件的修改是发生在循环迭代之后的;也就是for一进来要是符合条件就循环,然后修改,然后继续判断条件是否符合;在终止时也是条件不符合的时候
对于C++ 11中的范围for循环一般用于遍历容器或者其他序列,注意修改元素时不要忘记是使用引用类型
在范围for循环中,事实上我们预存了end()值,这也就解释了为什么不能使用范围for循环向容器添加对象
vector<int> v={0,1,2,3,4,5,6,7,8}; //想要修改时,不要忘记需要使用引用类型 for(auto &r:v) r*=2;
2.C++中的异常处理包括:
1)throw表达式:异常检测部分使用throw表达式来表达他遇到的无法处理的问题,我们说throw引发了异常
2)try语句块:异常处理部分使用try语句块处理异常。try语句块以try开始,并以一个或多个catch子句结束。try语句块中抛出的异常通常会被某个catch子句处理,所以通常catch子句也被叫做异常处理代码
3)一套异常类:用于在throw表达式和相关的catch子句传递异常信息的具体信息,每个标准库异常类都定一个what()成员函数,返回const chat *
当异常被抛出时,首先搜索抛出该异常的函数,然后没能找到catch子句,则终止,并在调用该函数的函数中继续寻找,以此类推。
try { //对于可能出现异常的code,用try包起来 program-statements throw xxx; //抛出异常 } catch (exception-declaration) { xxx; //异常处理 }
以上是关于C++ Primer笔记5---chapter5易错点的主要内容,如果未能解决你的问题,请参考以下文章
C++ Primer笔记16---chapter13 代码实例
C++ Primer笔记16---chapter13 代码实例
C++ Primer笔记15---chapter13 拷贝控制2