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

C++ Primer笔记15---chapter13 拷贝控制2

C++ C++ Primer 基础知识笔记

C++ Primer Plus读书笔记