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
原文地址:https://www.cnblogs.com/eat-too-much/p/14380093.html