0
例如,在C++:爲什麼標準::十六進制和無效*上的整數結果在相同的值
int number = 10;
cout << std::hex << number << endl;
cout << (void *)(int)number << endl;
兩個輸出爲什麼具有相同的十六進制值?
(void *)(int)number
在這裏的真正含義是什麼?
例如,在C++:爲什麼標準::十六進制和無效*上的整數結果在相同的值
int number = 10;
cout << std::hex << number << endl;
cout << (void *)(int)number << endl;
兩個輸出爲什麼具有相同的十六進制值?
(void *)(int)number
在這裏的真正含義是什麼?
這是,我相信,執行定義的行爲。
作爲一個實際問題:
'(int)'cast是多餘的。第二行可以是'cout <<(void *)number << endl;' –