C++ 中应何时使用 static_cast、dynamic_cast、const_cast 和 reinterpret_cast?
const_cast
可以用于移除或添加变量的 const。如果需要向变量添加/移除 const,则此 cast 很有用。
static_cast
用于正常的/普通的类型转换。此 cast 还负责隐式类型强制转换,也可以显式调用。应在将浮点数转换为整数、字符转换为整数等情况下使用它。
dynamic_cast
此 cast 用于处理多态。当强制转换为派生类时,你只需使用该 cast。这仅在从基类强制转换为派生类时的继承中使用。
reinterpret_cast
此 cast 最棘手。用于重新解释位模式,且极其底层。主要用于将原始数据位流变为实际数据或将数据存储在对齐指针的低位这样的事项。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP