您的位置:首页 >综合动态 >

static_cast和dynamic_cast区别(static_cast)

大家好,我是小新,我来为大家解答以上问题。static_cast和dynamic_cast区别,static_cast很多人还不知道,现在让我们一起来看看吧!

static_cast 在编译时使用类型信息执行转换, 在转换执行必要的检测(诸如指针越界计算, 类型检查). 其操作数相对是安全的.

功能与(int)等强制转换类似。但是多了一些必要的检查机制。

int a = 1;

void *p = &a;

cout<<*(int*)p;

cout<<*static_cast(p); 效果相同。 但是如果是 cout<<*static_cast(p); 就会报错。 但是double a = 1.2; 再如上面,都会正确。 因为double 可以转int只是有误差而已。 语法还是正确的。

本文到此讲解完毕了,希望对大家有帮助。

免责声明:本文由用户上传,如有侵权请联系删除!