C++ 类型转换
来源:互联网 发布:淘宝店铺营业执照办理 编辑:程序博客网 时间:2024/05/10 00:41
reinterpret_cast:
reinterpret_cast类型转换函数将一个类型的指针,转换为另一个类型的指针。这种转换不用修改指针变量值的数据格式(不改变指针变量值),值需在编译时重新解释指针的类型就可做到。reinterpret_cast可以将指针值转换为一个整数,但是不能用了非指针类型的转换。
const_cast:
const_cast类型转换函数用于去除指针变量的常量属性,将它转换为一个对应指针类型的普通变量。反过来,也可以将一个非常量的指针变量转换为一个常指针变量。这种转换时在编译期间做出的类型更改。
static_cast:
static_cast主要用于基本类型之间和具有继承关系的类型之间的转换,这种转换一般会更改变量的内部表示方式,因此static_cast应用用于指针类型的转换,没有太大的意义,即使允许指针类型转换,也不及
reinterpret_cast效率高。继承类与基类指针可以进行相互转换,都能编译通过,但基类指针转换为继承类指针,具有一定的危害性。
dynamic_cast:
与静态static_cast相对,是动态dynamic_cast转换。这种转换是在运行转换分析的,并非在编译时进行,明显区别于上面3个类型转换操作。
dynamic_cast只能在继承类对象的指针之间或引用之间进行类型转换。进行转换时,会根据当前运行对象的运行时类型信息(RTTI),判断类型对象之间的转换是否合法。dynamic_cast的指针转换失败,可以通过NULL指针检测,引用转换失败,则抛出一个bad_cast异常
- <C/C++> 类型转换
- C/C++:类型转换
- C类型转换
- C#.NET 类型转换
- 类型转换(C#)
- C指针类型转换
- 类型转换--c语言
- C语言类型转换
- C语言类型转换
- C/C++类型转换
- C语言类型转换
- C++_类型转换
- objective-c 类型转换
- objective-c类型转换
- 标准C 类型转换
- c类型转换
- C类型转换
- c类型转换char2short
- 多态的缺陷 “覆盖”私有方法
- 亮剑PHP:我的未来不是梦(3)
- 第一次自己离开老师来搞嵌入式开发的心得
- Web开发设计的五大准则(转载)
- 如何让自己每天都有活力?
- C++ 类型转换
- 域与静态方法
- 求助!急!谁能帮我看一下,下面的代码有什么问题。谢谢
- F1-F12的作用
- 使用计数器跟踪对象
- 随便
- 构造器内部的多态行为
- 五笔
- 协议返回类型