ststic_cast
时间: 2023-10-28 22:57:32 浏览: 97
C++类型转换(英文讲解,参考实例)
4星 · 用户满意度95%
`static_cast`是C++中的一种类型转换操作符。它用于在编译时执行类型转换,允许将一个类型转换为另一个相关类型,只要转换是静态类型安全的。这意味着它主要用于允许隐式转换的类型之间的转换,或者用于显式地指定转换。
以下是一些`static_cast`的使用示例:
1. 将一个指针或引用转换为基类或派生类的指针或引用:
```cpp
Base* basePtr = static_cast<Base*>(derivedPtr); Derived& derivedRef = static_cast<Derived&>(baseRef);
```
2. 将数值类型进行转换:
```cpp
int num = 10;
double result = static_cast<double>(num);
```
3. 将枚举类型转换为整数类型:
```cpp
enum MyEnum { VALUE1, VALUE2 };
int enumValue = static_cast<int>(VALUE1);
```
需要注意的是,`static_cast`并不能执行所有类型转换,它只能在编译时进行静态类型检查。如果需要进行动态类型检查,可以使用`dynamic_cast`操作符。此外,还有其他类型转换操作符,如`reinterpret_cast`和`const_cast`,用于特定的类型转换需求。
阅读全文