0
,我們可以存儲在整數類型,例如內存地址,如果我這樣做,那麼我得到一個錯誤:通過使用指針像int* j = &i
可以將內存地址存儲爲整型嗎?
int i;
int j = &i;
我知道我們可以做的,但我想知道是否有任何其他方式來存儲地址而不使用指針。請讓我知道如果有反正我可以用int
類型做到這一點。
,我們可以存儲在整數類型,例如內存地址,如果我這樣做,那麼我得到一個錯誤:通過使用指針像int* j = &i
可以將內存地址存儲爲整型嗎?
int i;
int j = &i;
我知道我們可以做的,但我想知道是否有任何其他方式來存儲地址而不使用指針。請讓我知道如果有反正我可以用int
類型做到這一點。
將地址存儲在int中時,很可能部分地址將被截斷。我不確定爲什麼你需要將地址存儲爲int,但如果你真的需要,可以使用std :: intptr_t。它足夠大以容納一個地址。
'std :: intptr_t'或'std :: uintptr_t'。沒有'std'的人可能來自C頭文件。不太可能是個大問題,但是你應該在C++中使用C++。 – doug65536
在C++或C#中...? – immibis
[reinterpret_cast](http://en.cppreference.com/w/cpp/language/reinterpret_cast)在C++中:「任何指針都可以轉換成任何足夠大的整數類型來保存指針的值(例如std: :uintptr_t的)「。 – songyuanyao