社区
C语言
帖子详情
类型转换的小问题
AeoLusFeng
2002-02-09 07:02:56
有如下语句:
void * p = &d;
cout << (*(double*)p) << endl; //如何理解这句
const int i = 5;
(int&)i = 6; //这一语句理论上应该是消除const的限制,但是运行后的i还是等于5,为什么??
请高手赐教!
...全文
94
5
打赏
收藏
类型转换的小问题
有如下语句: void * p = &d; cout << (*(double*)p) << endl; //如何理解这句 const int i = 5; (int&)i = 6; //这一语句理论上应该是消除const的限制,但是运行后的i还是等于5,为什么?? 请高手赐教!
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
kenryHuang
2002-02-09
打赏
举报
回复
用const_cast将变量的常量性转掉
int &j = const_cast<int>(i);
j =6;
AeoLusFeng
2002-02-09
打赏
举报
回复
明白了!!!感谢各位的热心指教,还有一个大问题!!
如何给分...................:-((((,不能亏了大家嘛
hellwolf
2002-02-09
打赏
举报
回复
你的第2局是没有意义的,
因为,在这句中你干了两件事,1:先把i 强制转换为int引用,2:把这一引用到int 型数据6。
由于是强制转换,所以到下一句后,i的语义仍是const int(因为应用本身是别名的意思,不改变本身数据)
daryl715
2002-02-09
打赏
举报
回复
int&是引用地址
&是地址运算符
SaintNiya
2002-02-09
打赏
举报
回复
第一句,首先(double*)p把p强制转化成指向double型的指针,然后再*p,既p指向
的东西。
所以 *(double*)p = *p,p指向的为double型。
第二句,没学过cpp,搞不懂int&是引用变量还是地址
commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar程序文件
commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar 案例上传: http://hi.baidu.com/lichao77821/blog
LitJson.dll
LitJson.dll文件,用来处理json格式数据
fastjson的jar包 绿色版
阿里巴巴公司研发的fastjson1.2.2的jar包 以及源码包
json-lib-2.4 jar 程序文件
json jar 包,java 开发Ajax ,封装json格式的jar包工具
jackson-core-asl-1.9.13+jackson-mapper-asl-1.9.13札包
jackson-core-asl-1.9.13.jar和jackson-mapper-asl-1.9.13.jar,在ssh整合中需要用到。
C语言
70,024
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章