C语言中经常可以见到一些强制类型转化,主要是在变量名前加(类型)。而在c++中与c语言也有一些差异,C++中主要有四种强制类型转化。
创新互联坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。十多年网站建设经验创新互联是成都老牌网站营销服务商,为您提供成都网站设计、成都做网站、外贸网站建设、网站设计、H5场景定制、网站制作、成都品牌网站建设、微信小程序服务,给众多知名企业提供过好品质的建站服务。static_cast它的主要转化是对于相关类型之间的转化
int main()
{
float a = 1.2;
int b = static_cast
cout << b << endl;
getchar();
return 0;
}
2.reinterpret_cast它的主要转化是对于不相关类型之间的转化
int main()
{
int a = 1;
int *p = &a;
int b = reinterpret_cast
cout << b << endl;
getchar();
return 0;
}
3.const_cast 是解除const类型的变量,使之可以改变变量的值
int main()
{
volatile const int a = 1;
int *p = const_cast
*p = 2;
cout << a << endl;
getchar();
return 0;
}
4.dynamic_cast是动态转化,它主要作用:1.只能用于含有虚函数的类 2.先检查是否转化成功,若成功转化则转换,若不能就返回0
class A
{
public:
int _a;
virtual void show()
{}
};
class B :public A
{
public:
int _b;
};
void test()
{
A a;
B b;
B *pb =dynamic_cast(&a);
cout << pb << endl;
}
int main()
{
test();
getchar();
return 0;
}
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。