码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-07-12 23:02:08      阅读:240      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!