reinterpret_cast有什么作用?
时间:2011-12-06
来源:互联网
作者: xubiao753 发布时间: 2011-12-06
作者: xuddk727 发布时间: 2011-12-06
比如 unsiged long a = xxxxx;
CView *p_View= (CView*) a;
和用这个转换有什么区别吗?
作者: xubiao753 发布时间: 2011-12-06
如指针:char *p = ...;
那么指针p被解释为char类型,如果你要把char *转换为int *;
由于char *和int *类型不一样,可以进行强制转换,强制把指针char *解释为int *,那么就可以用:
reinterpret_cast<>;这种是比较推荐的用法。
作者: yuucyf 发布时间: 2011-12-06
比如double 到 int ,它负责将int(4位的) 这个地址重新读成8位类型的值,当然这样得出的结果会和int不同
作者: xuddk727 发布时间: 2011-12-06
作者: hai296 发布时间: 2011-12-06
作者: redui 发布时间: 2011-12-06
看看这个解释。。。
作者: shen_wei 发布时间: 2011-12-06
作者: oyljerry 发布时间: 2011-12-06
作者: VisualEleven 发布时间: 2011-12-06
int i; i=(int)(&i);
上面这个例子用于取变量i的地址(得到一个int*类型的指针),转化成整形赋值给i。
这里的难点是这个类型转换,C++中的几个类型转换中,只有 reinterpret_cast 能做到这一点,可以完全无视对象的类型,把原有的内存位置换一种解释方式。
C语言只是笼统地给出了一个强制转换,而C++把它们细化了。
作者: fight_in_dl 发布时间: 2011-12-06
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28