强制转换发生了什么?

superyh 2003-09-04 02:49:35
如题,谁能够解释一下?最好举个例子,说明一下编译器是怎么操作的`
谢谢各位高手!


-----------------------------------------------------
愿中国软件行业能够拙壮成长!
...全文
41 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
superyh 2003-09-04
  • 打赏
  • 举报
回复
共享一下:
跟踪内存发现,强制转换只是用另一个格式来读取同一片内存~ 哈(有点弱智的答案,不过,我是初学者,可以理解,原来还以为是改变内存的结构呢。),得到这样的结论,那,何不试试将字符串自己换成整型? 哈,只要字符串的字节数不小于整型的,就不会有问题,
int b;
int *pb;
pb = (int*)"123";
b = *pb;
这样换一下,哈,果然,b中的数值变成3855185!呵,因为字节顺序与asc码的问题导致的,真正要的时候,再换一下就好了!

YEAH! 答案很简单,但值得借鉴的是整个追求答案及思考的过程。呵,这才是学习。

谢谢大家!
superyh 2003-09-04
  • 打赏
  • 举报
回复
知道怎么一回事了~ 哈,还是自己动手,来得痛快!
  • 打赏
  • 举报
回复
LPCTSTR是用于强制转换,它是系统定义
你在自己的类中可以重载强制转换运算符
class A
{
public:
int x;
A& A::operator=(CString str)
{
this->x = str.GetLength();
return *this;
}
};
A a;
CString str = "AK-47";
a = str;
superyh 2003-09-04
  • 打赏
  • 举报
回复
不是这个~
我是说,比如说,对象,结构之间的强制转换?
binjuny 2003-09-04
  • 打赏
  • 举报
回复
?是这吗?
http://www.csdn.net/Develop/Read_Article.asp?Id=16622

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧