static_cast<type>(expression)
与C风格的类型转换相通,如 int 转 double 等。
const_cast<type>(expression)
用于转换const属性。
dynamic_cast<type>(expression)
涉及继承的类型转换,可向下或横向安全转换。
如:
class a{};
class b : public a{};
b theClass;
a* parent = &theClass;
b* sub = dynamic_cast<b*>(parent);
reinterpret_cast<type>(expression)
强制转换,任何转换都可以,不计后果。
本文介绍了C++中四种类型的转换方式:static_cast用于基本类型的转换;const_cast用于去除const属性;dynamic_cast用于运行时确定的对象类型转换,常用于继承体系中;reinterpret_cast则用于底层的类型转换。
947

被折叠的 条评论
为什么被折叠?



