具体内容见《高质量程序设计指南》 P262
explicit 关键字
用于构造函数,要求用户必须显示调用该构造函数,避免隐式转换!
参考:http://developer.51cto.com/art/201002/183398.htm
类型转换符
- static_cast<dest_type>(src_obj),作用相当于C风格的强制转换,但是在多重继承的情况下,它会正确地跳转指针的值,而C风格的强制转换则不会调整;它可以遍历继承树来缺点src_obj与dest_type的关系,但是只在编译时进行(此所谓静态);如果使用它来做downcast操作,则会存在隐患。
- const_cast<dest_type>(src_obj),用于去除一个对象的const/volatile属性
- reinterpret_cast<dest_type>(src_obj),我们可以借助它把一个整数转换成一个地址,或者在任何两种类型的指针间转换。使用该运算符的结果很危险,请不要轻易使用。
- dynamic_cast<dest_type>(src_obj),在运行时遍历继承树(类层次结构)来确定src_obj与dest_type的关系。
类型转换函数
原文:http://www.cnblogs.com/zhehan54/p/5236912.html