/*************************
显式类型转换
static_cast 任何标准类型转换
const_cast 常量强制转换 主要用于去掉const
reinterpret_cast ;不相关的数据类型之间的转换 如int -> char*;
dynamic_cast 动态强制转换,只能转换指针和引用 ,(程序运行时转换),
*************************/
#include<iostream>
using namespace std;
void sqrt(const int* x)
{
int* p = const_cast<int*>(x);
*p =(*p)*(*p);
}
void sqr(const int&x)
{
const_cast<int &>(x) = x*x;
}
int main()
{
char p = 'd';
int x = static_cast<int >(p);
double y = static_cast<double>(54);
cout<<"x ="<<x<<" "<<"y = "<<y<<endl;
sqrt(&x);
cout<<"x^2 ="<<x<<endl;
sqr(x);
cout<<"x^2 ="<<x<<endl;
}
C++基础之类型转换
最新推荐文章于 2024-04-23 13:23:43 发布