第15章 C++异常处理机制和RTTI
一、C++异常处理
到目前为止,我还没有实际项目中使用“异常机制”的经验,因此对这一块全然不懂。因为在Qt4框架中,不提倡使用异常。
有意思的是,Google编程规范也建议:“我们不使用 C++ 异常.”。
当然,不可质疑的是:C++的异常处理技术能增强软件的健壮性。关于异常的使用,留待以后研究吧。
二、RTTI(运行时类型识别)
1、为了能够在运行时获得对象的类型信息 type_info,C++增加了两个运算符:typeid() 和dynamic_cast<>。
2、type_info 有三个成员函数:operator==()、operator!=()和name()。
一、C++异常处理
到目前为止,我还没有实际项目中使用“异常机制”的经验,因此对这一块全然不懂。因为在Qt4框架中,不提倡使用异常。
有意思的是,Google编程规范也建议:“我们不使用 C++ 异常.”。
当然,不可质疑的是:C++的异常处理技术能增强软件的健壮性。关于异常的使用,留待以后研究吧。
二、RTTI(运行时类型识别)
1、为了能够在运行时获得对象的类型信息 type_info,C++增加了两个运算符:typeid() 和dynamic_cast<>。
2、type_info 有三个成员函数:operator==()、operator!=()和name()。
3、typeid()运算符不需要遍历继承树,实际上调用typeid()运算符的开销与虚函数的动态绑定的开销相等。