static_cast vs dynamic_cast
这两个差别挺明显。
顾名思义,static只能检查静态类型,不能检查动态类型,要检查动态类型,就要用dynamic_cast。
比如子类转父类,或者不带指针这样的动态类型的,用static_cast就够了。否则就必须用dynamic_cast。
reinterpret_cast
一般用于指针类型的转换。
const_cast
能把原先的const的field变成可修改的。
static_cast vs dynamic_cast
这两个差别挺明显。
顾名思义,static只能检查静态类型,不能检查动态类型,要检查动态类型,就要用dynamic_cast。
比如子类转父类,或者不带指针这样的动态类型的,用static_cast就够了。否则就必须用dynamic_cast。
reinterpret_cast
一般用于指针类型的转换。
const_cast
能把原先的const的field变成可修改的。