摘要: dynamic_cast: 通常在基类和派生类之间转换时使用,run-time castconst_cast: 主要针对const和volatile的转换.static_cast: 一般的转换,no run-time check.通常,如果你不知道该用哪个,就用这个。reinterpret_cast: 用于进行没有任何关联之间的转换,比如一个字符指针转换为一个整形数。1)static_cast<T*>(a)编译器在编译期处理将地址a转换成类型T,T和a必须是指针、引用、算术类型或枚举类型。表达式static_cast<T*>(a), a的值转换为模板中指定的类型T。在运 阅读全文
posted @ 2013-01-21 16:11 onlycxue 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 1 static_cast用法:static_cast < type-id > ( expression ) 该运算符把expression转换为type-id类型,但没有运行时类型检查来保证转换的安全性。它主要有如下几种用法:①用于类层次结构中基类和子类之间指针或引用的转换。 进行上行转换(把子类的指针或引用转换成基类表示)是安全的; 进行下行转换(把基类指针或引用转换成子类表示)时,由于没有动态类型检查,所以是不安全的。②用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。③把空指针转换成目标类型的空指针。④把任何类 阅读全文
posted @ 2013-01-21 11:26 onlycxue 阅读(238) 评论(0) 推荐(0) 编辑