Cplusplus类型转换static_cast应用代码
时间: 2023-09-30 07:04:22 浏览: 100
下面是一个例子,展示了`static_cast`的用法:
```cpp
#include <iostream>
using namespace std;
int main() {
int i = 10;
double d = 4.5;
// 将int类型转换为double类型
double result = static_cast<double>(i);
cout << "i as double: " << result << endl;
// 将double类型转换为int类型
int result2 = static_cast<int>(d);
cout << "d as int: " << result2 << endl;
// 将指针类型转换为另一个指针类型
int* ptr = &i;
double* ptr2 = static_cast<double*>(static_cast<void*>(ptr));
cout << "ptr2: " << *ptr2 << endl;
return 0;
}
```
这个例子中,我们使用了`static_cast`来进行类型转换。在第一个例子中,我们将一个`int`类型的变量转换为`double`类型的变量。在第二个例子中,我们将一个`double`类型的变量转换为`int`类型的变量。在第三个例子中,我们将一个`int`类型的指针转换为一个`void`类型的指针,然后再将其转换为一个`double`类型的指针。
阅读全文