繁体   English   中英

将int转换为长指针

[英]casting an int to a long pointer

int test = 1;
cout << (long *) &test <<endl; //=0x7fff7370cefc
cout << (long) test <<endl; //= 1

有人可以解释第一种情况是怎么回事吗? 我得到的长度> int,即整数,但是到底发生了什么?

在这种情况下:

cout << (long *) &test <<endl; //=0x7fff7370cefc

您实际上是在给出test变量地址的值,该值将转换为长指针值 ,然后打印出来。 这正是您应该得到的。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM