zoukankan      html  css  js  c++  java
  • C++基础 (10) 第十天 C++中类型转换 异常 栈解旋 io操作

    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

     

    大图:

  • 相关阅读:
    leetcode32 Longest Valid Parentheses 最长有效括号序列
    js的Prototype属性
    一道区间dp和一道字符串
    Cookie和Session
    JS选择器querySelector和~All,三个原生选择器
    module.exports和exports
    Windows7环境下MongoDB安装和配置
    转载:Ajax基础详解&&http填坑2
    Node后台刷评论
    Node 简单爬虫
  • 原文地址:https://www.cnblogs.com/eret9616/p/10514089.html
Copyright © 2011-2022 走看看