参考文档
https://cplusplus.com/doc/tutorial/typecasting/
表达式 - cppreference.com
标准转换-隐式转换

| 特殊运算符 | 作用 |
|---|---|
| static_cast | 相关类型之间的转换 |
| dynamic_cast | 在有继承关系的类型之间转换类型 |
| const_cast | 添加或移除const或volatile |
| reinterpret_cast | 不相关的类型之间的转换 |
dynamic_cast

表达式 dynamic_cast<T>(v) 的结果是将表达式 v 转换为类型 T 。类型T应该是一个指向完整class type的指针或引用,或者是指向 cv void 的指针
解释:
cv void :其中的cv指代的是两个关键字const 和 volatile 。cv void指的就是被这两个关键字组合出的各种void类型的统称。如: const void, volatile void, const volatile void
| value | mean |
|---|---|
| prvalue | |
| glvaule | |
| xvalue |
static_cast

类型转换表达式 static_cast<T>(v) 用于将表达式v转为类型T。
- 如果T是一个左值引用或一个函数的右值引用,那么转换结果为左值。
- 如果T是一个对象的右值引用,结果是xvalue
- 否则转换结果为prvalue
reinterpret_cast
const_cast
显式转换
使用c风格或函数风格的转换