不言而喻,使用硬編碼,十六進制文字的指針是一個災難:究竟使用魔術調試值(如0xDEADBEEF)作爲文字有什麼危險?
int *i = 0xDEADBEEF;
// god knows if that location is available
然而,究竟是什麼在使用十六進制文字作爲變量值的危險?
int i = 0xDEADBEEF;
// what can go wrong?
如果這些值確實是「危險的」,因爲它們use in various debugging scenarios,那麼這意味着即使我不使用這些文字,任何程序,在運行期間發生在這些值的一個絆倒可能會崩潰。
任何關心解釋使用十六進制文字的真正危險?
編輯:只是爲了澄清,我不是指在源代碼中一般使用常量。我特別討論了調試場景問題,它們可能會使用十六進制值,具體示例爲0xDEADBEEF
。
您的問題標題與您的問題非常相符。你能否澄清你的標題? – 2009-11-05 16:24:04