题解(用static_cast)
2026-05-01 23:51:32
发布于:浙江
5阅读
0回复
0点赞
代码:
#include<iostream>
using namespace std;
int main() {
int c;
cin >> c;
cout << static_cast<char>(c);
}
为啥要用static_cast?用C风格不是很好吗??
原因是:
我们来看一段代码:
#include<iostream>
using namespace std;
int main() {
int a = 10;
double* p = (double*)&a;
}
这段代码会不输出
因为C风格不会检查(C风格指用 (类型) 的老式强制转换写法。)
而如果我们加上static_cast:
#include<iostream>
using namespace std;
int main() {
int a = 10;
double* p = static_cast<double*>(&a);
}
就会报错,由此可见static_cast做了检查
所以,一定要用static_cast
这里空空如也







有帮助,赞一个