文章目录
类型强转的一般形式为:cast-name< type >(expression)
顶层const:指针本身是个常量;int * const p;
底层const:指针所指对象是个常量;
int const *p;
- static_cast(静态类型转换):只要不包括底层const,任何具有明确定义的类型转换都可以用,运行时不进行安全检查
- 可以用于类层次结构中基类与子类之间指针或引用的转换
把子类的指针或引用转换成基类表示是安全的,但把基类的指针或引用转换成子类指针或引用时,由于没有动态类型检查,所以是不安全的,因此基类与子类之间的动态类型转换建议用dynamic_cast
1.基本数据类型转换
2.把空指针转换成目标类型的空指针
3.把任何类型的表达式转换成void类型
4.static_cast不能去掉类型的const、volitale属性
5.static_cast不能进行无关类型指针之间的转换
int n = 6;
double d