C++ primer[查漏补缺] 第五章

第五章

1

switch中定义变量,需要在块内定义。
否则可能会跳过变量的初始化。
在这里插入图片描述

2

case标签必须是常量表达式
do while不能在条件中定义变量
goto不能跳过执行变量的定义,向后跳过一个已经执行的定义是合法的,跳回到定义之前意味着系统将销毁该变量,然后重新创建它。

3

异常处理:

try{
}catch(){
}catch(){
}

具体代码:

while(cin>>item1>>item2){
	try{
		if(item1.isbn()==item2.isbn())cout<<item1+item2<<endl;
		else throw runtime_error("Data must refer to same ISBN");
	}catch(runtime_error err){
		cout<<err.what()
			<<"\n Try again?Enter y or n" <<endl;
		char c;cin>>c;
	}
}

err.waht()返回的是初始化时候的string对象副本。

4

异常处理的时候,函数在寻找处理代码的过程中退出。
首先搜索抛出该异常的函数,如果没找到对应的catch子句,终止函数。在调用该函数的函数中继续寻找,以此类推,沿着程序的执行路径逐层回退。
如果最终还是没找到,程序转到terminate的标准库函数。一般情况下,执行该程序将导致程序非正常退出。

5

标准异常类
exception:最通用的异常类,只报告异常的产生,不提供额外信息。
stdexcept:定义了几种常用的异常类
在这里插入图片描述
new:定义了bad_alloc异常类型
type_info:定义了bad_cast异常类型

exceptionbad_allocbad_cast只能默认初始化,其他异常类型的行为应该用string对象或C风格字符串初始化,并且不允许默认初始化。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
《C Primer》是一本针对C语言初学者的经典教材,第五版的第六章主要介绍了函数的基本概念和用法。 在第六章中,教材首先介绍了函数的定义和调用。函数是具有独立功能的代码块,可以通过函数名来调用。函数由函数头、参数、函数体和返回值组成。函数头包括函数类型、函数名和参数类型,参数用于接收传递给函数的值,返回值用于将结果返回给调用者。 接着,教材详细介绍了函数的参数传递方式,包括按值传递、按引用传递和按指针传递。按值传递是指将参数的值复制给形参,按引用传递是指将参数的引用传递给形参,而按指针传递是将参数的地址传递给形参。不同的传递方式在函数内部对参数进行操作时,会对应不同的结果。 此外,教材还讲解了函数的返回值和函数的调用顺序。函数的返回值类型由函数头中的类型确定,可以是任意类型。当函数需要返回多个值时,可以使用结构体或指针进行返回。函数的调用顺序决定了函数执行的顺序,即哪个函数先执行,哪个函数后执行。 在函数的实现过程中,教材介绍了函数的定义和声明、局部变量和全局变量、递归等内容。通过这些知识点的学习,读者可以了解到函数的具体细节和一些实践技巧。 总的来说,第五版的第六章通过清晰的语言和丰富的例子,循序渐进地讲解了函数的基本概念和用法。学完这一章,读者将能够理解函数的定义、调用、参数传递、返回值和实现等方面的知识,为之后的学习和实践打下坚实的基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值