首页 > 编程语言 > 详细

-----------------------------------A Tour of C++-------------------------------------------

时间:2016-07-12 23:01:48      阅读:334      评论:0      收藏:0      [点我收藏+]

---------------------14.2.4类型转换--------------------

1、static_cast:对于合理的、行为良好的转换,例如将基类指针转换为派生类指针,使用此方式。

例如:

  Widget* pw = static_cast<Widget*>(pv);  //pv是一个void*,应指向一个Widget

2、reinterptert_cast:对于真正糟糕、不可移植的转换,例如将int转换为指针,使用此方式。

例如:

auto dd = reinterpret_cast<Device_driver*>(0xFF00);  //0xFF应是指向设备驱动程序的指针

3、const_cast:用来去掉const

例如:

char* pc = const_cast<char*>("Casts are inherently dangerous");

补充:对于类层次结构中的类型转换,优先选择带检查的dynamic_cast(4.5.3)。

-----------------------------------A Tour of C++-------------------------------------------

原文:http://www.cnblogs.com/shuxiangguo/p/5665116.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!