首页 > 代码库 > C++晋升之static_cast
C++晋升之static_cast
---static_cast静态类型转换
---静态:编译时
---类型转换:普通类型间转换、void*与普通类型指针间转换、有继承关系的指针间转换(比动态类型转换内容丰富)
---普通类型转换:
int a = 10; int b = 3; 要求:float c = a / b = 3.333
1.a改为float类型
2.
3.
---void*与普通类型指针间转换:
我也是现在才知道还有float*这种类型,打印的结果估计你们也想象不到
---有继承关系的指针间转换
这里没有dynamic_cast那么严格
1.p1的位置和B*的位置配对,否则编译不通过
2.不过是写父类的指针--父类--子类指针还是写子类的指针--子类--父类的指针都为TRUE
3.p1和p2必须有一个new,否则
4.慎用,可移植性低
5.一定时候可以替代dynamic_cast
--const_cast:const指针转换为非const的指针
--reinterpret_cast:这个可以说是无法无天的编译器,指针间,数字和类型间随便强转,骗过编译器,但是调用时候该错还是错
C++晋升之static_cast
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。