言うまでもなく、ハードコーディングされた 16 進リテラル ポインターを使用するのは大惨事です。
int *i = 0xDEADBEEF;
// god knows if that location is available
しかし、変数値として 16 進リテラルを使用する危険性は正確には何ですか?
int i = 0xDEADBEEF;
// what can go wrong?
これらの値がさまざまなデバッグ シナリオで使用されているために実際に「危険」である場合、これは、これらのリテラルを使用しなくても、実行時にこれらの値のいずれかに遭遇したプログラムがクラッシュする可能性があることを意味します。
16 進リテラルを使用することの本当の危険性を説明したい人はいますか?
編集:明確にするために、ソースコードでの定数の一般的な使用について言及していません。具体的には、16 進数値を使用する際に発生する可能性のあるデバッグ シナリオの問題について0xDEADBEEF
、具体的な例を挙げて説明しています。