C++基础 (10) 第十天 C++中类型转换 异常 栈解旋 io操作
2024-08-31 07:00:50
1之前内容的回顾
C语言中的类型转换(int)a 强转可读性太差了
C++把()拆分成了四种转换方式
- static_cast
static_cast在编译器编译阶段就进行转换了
2.dynamic_cast
dynamic_cast操作符会在运行期对可疑的转型操作进行安全检查,而static_cast操作符不会进行安全检查
先讲一个小知识点::
子类指针转换为父类是完全安全的(只需要截断),
而父类指针强制转换为有时子类会出问题的
所以用dynamic_cast 进行转换会有返回值,如果转换成功就返回 如果转换不成功就返回NULL(0)
一般有父子之间关系的用dynamic_cast
同时转换要进行判断如果是空就没转换成功
3. const_cast
知识点:
关于C++常量的知识点:
4.reinterpret_cast 重新解释类型转换
https://jingyan.baidu.com/article/1e5468f9bd50b3484961b721.html
5 异常的基本语法
就是 try catch
前面的都执行完了,如果还没有捕获到
catch(…) 是捕获所有异常
6 栈解旋
栈解旋就是 异常抛出完之后,所有在栈上开辟的空间都会被释放掉。
7 异常变量的生命周期
结论:
- 捕获异常类对象时 使用引用比较合适
- 指针可以和引用/元素写在一块 但是引用/元素不能写在一块
8 异常的层级结构
9 标准的异常
10 常用的标准输入流方法
11 常用的标准输出
#include <iomanip>
cout.put 输出一个char字符
cout.width 指定域宽度
cout.setfill 设置填充字符
13 文件的IO
大图:
最新文章
- strsep和strtok_r替代strtok
- code first提示已有打开的与此 Command 相关联的 DataReader,必须首先将它关闭解决方法
- 管理node的版本
- php fastcgi_finish_request让你的程序由等待时间,瞬间完成,提高用户体验
- Sqlserver2008 数据库镜像会话的初始连接
- javaweb学习总结(二十六)——jsp简单标签标签库开发(二)
- QTP对象管理
- VS2010 error C3861: “exit”: 找不到标识符
- docker 使用redis
- 自定义异常throw
- sql server 数据库创建链接服务器访问另外一个sql server 数据库
- Xmpp实现简单聊天系列 --- ②用户注册和登陆
- [UOJ UR#16]破坏发射台
- FFmpeg 结构体学习(六): AVCodecContext 分析
- Java基础10-集合
- python3 LDA主题模型以及TFIDF实现
- day02 : JPA的基本使用和多种缓存技术对比
- NVCC src/caffe/util/math_functions.cu
- 将double或则float类型保留小数
- 关于数据分析的4点心得:维度、指标、KPI
热门文章
- [bzoj1180][CROATIAN2009]OTOCI_LCT
- Windows XP时代终结:假设你还在用它怎么办
- Android 安装应用后点击打开带来的问题
- int*与(int*)的差别
- &;quot;高可用方案工具包&;quot; high availability toolkit 1.1
- Head First 设计模式 —— 工厂模式与工厂方法
- 【POJ 1084】 Square Destroyer
- Hdu-5992 2016ACM/ICPC亚洲区青岛站 K.Finding Hotels KDtree
- Scrapy中的UA池,代理池,以及selenium的应用
- Several Ideas on Perl List Context