1之前内容的回顾

C语言中的类型转换(int)a  强转可读性太差了

C++把()拆分成了四种转换方式

  1. 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 异常变量的生命周期

结论:

  1. 捕获异常类对象时 使用引用比较合适
  2. 指针可以和引用/元素写在一块 但是引用/元素不能写在一块

8 异常的层级结构

9 标准的异常

10 常用的标准输入流方法

11 常用的标准输出

#include <iomanip>

cout.put 输出一个char字符

cout.width 指定域宽度

cout.setfill 设置填充字符

13 文件的IO

大图:

C++基础 (10) 第十天 C++中类型转换 异常 栈解旋 io操作的更多相关文章

  1. 夯实Java基础系列10:深入理解Java中的异常体系

    目录 为什么要使用异常 异常基本定义 异常体系 初识异常 异常和错误 异常的处理方式 "不负责任"的throws 纠结的finally throw : JRE也使用的关键字 异常调 ...

  2. 基础知识《十》unchecked异常和checked异常

    运行时异常在运行期间才能被检查出来,一般运行期异常不需要处理.也称为unchecked异常.Checked异常在编译时就能确定,Checked异常需要自己处理. checked 异常也就是我们经常遇到 ...

  3. 第33节:Java面向对象中的异常

    Java中的异常和错误 Java中的异常机制,更好地提升程序的健壮性 throwable为顶级,Error和Exception Error:虚拟机错误,内存溢出,线程死锁 Exception:Runt ...

  4. 十. Python基础(10)--装饰器

    十. Python基础(10)--装饰器 1 ● 装饰器 A decorator is a function that take a function as an argument and retur ...

  5. 最全的MySQL基础【燕十八传世】

    1.课前准备! 开启mysql服务:1).配置环境变量;2).net start mysql 将该sql文件导入到你的数据库中,以下所有操作都是基于该数据库表操作的!!! [此笔记是本人看着视频加上自 ...

  6. java基础解析系列(十)---ArrayList和LinkedList源码及使用分析

    java基础解析系列(十)---ArrayList和LinkedList源码及使用分析 目录 java基础解析系列(一)---String.StringBuffer.StringBuilder jav ...

  7. C#基础笔记(第十天)

    C#基础笔记(第十天) 1.字段.属性.方法.构造函数字段:存储数据属性:保护字段,对字段的取值和设值进行限定方法:描述对象的行为构造函数:初始化对象(给对象的每个属性依次的赋值)类中成员,如果不加访 ...

  8. “全栈2019”Java异常第十四章:将异常输出到文本文件中

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  9. Py修行路 python基础 (二十五)线程与进程

    操作系统是用户和硬件沟通的桥梁 操作系统,位于底层硬件与应用软件之间的一层 工作方式:向下管理硬件,向上提供接口 操作系统进行切换操作: 把CPU的使用权切换给不同的进程. 1.出现IO操作 2.固定 ...

随机推荐

  1. (12)Spring Boot改变JDK编译版本【从零开始学Spring Boot】

    Spring Boot在编译的时候,是有默认JDK版本的,如果我们期望使用我们要的JDK版本的话,那么要怎么配置呢? 这个只需要修改pom.xml文件的<build> -- <plu ...

  2. Zookeeper-单机/集群安装

    简介 Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理.命名.分布式同步.集群管理.数据库切换等服务.它不适合用来存储大量信息,可以用来存储一些配置.发布与订阅等少量信息.Hadoo ...

  3. UVA Jin Ge Jin Qu hao 12563

    Jin Ge Jin Qu hao (If you smiled when you see the title, this problem is for you ^_^) For those who ...

  4. android 集成支付宝app支付(原生态)-包括android前端与java后台

    本文讲解了 android开发的原生态app集成了支付宝支付, 还提供了java后台服务器处理支付宝支付的加密代码, app前端与java后台服务器使用json数据格式交互信息,java后台服务主要用 ...

  5. Dozer--第三方复制工具,哎哟,还不错!

    Dozer简单点说,就是拷贝工具,也是复制工具的意思,官方的解释是:Dozer is a Java Bean to Java Bean mapper that recursively copies d ...

  6. KVO---视图间数据的传递:标签显示输入的内容【多个视图中】

    RootViewController.m #import "ModalViewController.h" @interface RootViewController () @end ...

  7. 36岁IT老人再次随笔——程序员的门槛其实并不高,但却是一个易学难精的行当——IT的快车很快,我常看到不少人摔落下去,但又有不少身手敏捷的人跳了上来 good

    36岁的我,还在IT里面留恋着技术.我不是什么技术牛人,只是不愿离开.搞硬件的朋友对我说:“我以为你是搞硬件的,没想到你软件方面这么厉害?”,搞软件的朋友对我说:“我以为你只是搞软件的,没想到你硬件方 ...

  8. Controller methods and views

    https://docs.asp.net/en/latest/tutorials/first-mvc-app/controller-methods-views.html We have a good ...

  9. Linux - 进程与内存查看

    top NI表示进程的优先级. -20的优先级,非常的高. top -p xxx 可以查看具体的进程情况. renice -n -6 进程ID 可以改变一个正在运行的pid的优先级. [root@lo ...

  10. hdoj--1083--Courses(最大匹配)

    Courses Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total ...