C++学习笔记20190707 类型转换

1类型转换调用方法double d = static_cast(a);
static_cast使用 static_cast<目标类型>(原始对象)
2动态转换dynamic_cast
3.不可转换基础数据类型,父子之间可以转换,父转子 不可以 子转父可以

2异常

1.try试图执行try{}中的内容
2.在可能出现异常的地方抛出异常throw
3.try下面catch捕获异常
4.catch成功捕获类型 …代表所有其他类型
5如果不想处理异常,继续向上抛出throw
6.如果没有任何处理异常的地方,那么成员调用terminate函数,中断异常
7.自定义异常类,可以抛出自定义的对象,捕获自定义的异常

3栈解旋

1.从try开始,到throw抛出异常之前 所有栈上的对象 都会被释放 这个过程称为栈解旋
2栈上的构造顺序与析构顺序相反

4接口声明

1 如果想抛出特定的类型异常,可以利用异常的接口声明
2.void func() throw(int )//throw只能

5异常变量生命周期

1 如果MyException e,会多开销一份数据,调用拷贝构造
2. 如果MyException *e ,不new提前释放对象new自己管理delete
3. 推荐MyException &e容易些 而且 就一份数据

6异常的多态使用

1 利用多态来实现printError同一个接口调用
2 抛出不同的对象提示不同的错误

7 使用系统的标准异常

1 #include
2. throw out_of_range(“aaa”)…
3. catch(out_of_range & e) e.whai();

8 编写自己的异常类

1.自己的异常类 需要继承于exception
2.重写虚析构 what()
3.内部维护以错误信息字符串
4.构造时候传入 错误信息字符串,what返回这个字符串
5 string转char* .c_str();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值