zoukankan      html  css  js  c++  java
  • C++ 标准函数 。abort & typeid

    简介

    abort() 使程序直接报core dump错误
    typeid() 判断对象是否是同一个对象的时候使用,感觉类似js里面的type什么鬼来着
    比如
    dynamic_cast强制类型转换指针

    if(typeid(*bp) == typeid(dbox_w_strf)){}
    else{}
    

    又比如

    if(dbox_w_str * dbp = dynamic_cast<dbox_w_str*>(bp))
    

    又比如

    template<class T> class Container{
    public:
          void put(T*);
          T* get();
    };
    Ship* f(Ship*ps, Container<Ship>*c){
    c->put(ps);
    return c->get();
    }
    

    dynamic_cast,展示的是它是X类的或者某个由X类派生的类的对象。
    typeid(*p).name() 检查类型的名称

    static_cast 是基类到派生类的转换
    reinterpret_cast运算符将允许将任意指针转换到其他类型,也允许做任意整数类型和任意指针类型之间的转换。从本质上说,所有这些转换都是不安全的的,或是依赖于实现的,或者既不安全又依赖于实现。
    const_cast 对于const的变量的去const化

    关于模板和异常

    在我的心里,模板和异常是一个硬币的两面:模板机制通过扩展静态类型检查所能处理问题的范围,能够减少运行时错误出现的数量;而异常就是为处理这些错误而专门提供的一种机制。模板使人有可能管理异常处理问题,方式是将运行时错误处理的需要降低到一些最基本的情况下。

    命名空间别名

    namespace ATT = American_Telephone_and_Telegraph;

    Hope is a good thing,maybe the best of things,and no good thing ever dies.----------- Andy Dufresne
  • 相关阅读:
    2017.5.8下午
    2017.5.8上午
    2017.5.5下午
    2017.5.5上午
    2017.5.4下午
    WPF DataGrid LoadingRow style 滚动失效
    centos nginx 环境变量
    Kettle-03-定时转换
    Kettle-02-转换
    Kettle-01-安装(CentOS 7 离线)
  • 原文地址:https://www.cnblogs.com/eat-too-much/p/14380093.html
Copyright © 2011-2022 走看看