簡體   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