频道栏目
首页 > 程序开发 > 软件开发 > C++ > 正文
c++四个强制转换实例讲解
2018-02-10 13:42:25      个评论    来源:caicaptain的博客  
收藏   我要投稿

static_cast最接近于C风格转换,但在无关类指针转换时,编译器会报错,提升了安全性;

double d=3.14159265;

int i = static_cast(d);

dynamic_cast要求转换类型必须是指针或引用,且在下行转换时要求基类是多态的,如果发现下行转换不安全,dynamic_cast返回一个null指针,dynamic_cast总是认为void*之间的转换是安全的;

reinterpret_cast可以对无关类指针进行转换,甚至可以直接将整型值转成指针,这种转换是底层的,有较强的平台依赖性,可移植性差;

class A {};

class B {};

A * a = new A;

B * b = reinterpret_cast

点击复制链接 与好友分享!回本站首页
上一篇:C++面向对象程序设计详情
下一篇:C++ 拷贝构造函数、拷贝赋值运算符、移动构造函数、移动赋值运算符、析构函数、右值引用、引用限定符实例
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站