[英]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.