旧式转型 C风格的强制类型:
TYPE b = (TYPE) a 例如: int i = 48; char c = (char) i;新式转型C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。
格式: TYPE b = 类型操作符<TYPE> ( a ) 类型操作符= static_cast | reinterpreter_cast | dynamic_cast | const_cast静态类型转换(斯文的劝导,温柔的转换)。如int转换成char 主要用法:
用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换。上行指针或引用(派生类到基类)转换安全,下行不安全
用于基本数据类型之间的转换,如把int转换成char,把int转换成enum。这种转换的安全性也要开发人员来保证。
把空指针转换成目标类型的空指针。
把任何类型的表达式转换成void类型。
重新解释类型(挂羊头,卖狗肉) 不同类型间的互转,数值与指针间的互转
用法: TYPE b = reinterpret_cast ( a ) TYPE必须是一个指针、引用、算术类型、函数指针.
忠告:滥用 reinterpret_cast 运算符可能很容易带来风险。 除非所需转换本身是低级别的,否则应使用其他强制转换运算符之一。
时间:2020-07-01