¿Equivale 0xDEADBEEF para el desarrollo de 64 bits?

Para el desarrollo de C ++ para sistemas de 32 bits (ya sea Linux,Mac OS o Windows,PowerPC o x86) Inicialicé los punteros que de otro modo no estarían definidos (por ejemplo, no pueden obtener un valor adecuado de inmediato), por lo que:

int *pInt = reinterpret_cast<int *>(0xDEADBEEF);

(Para guardar la escritura y serSECO el lado derecho normalmente estaría en una constante, por ej. BAD_PTR.)

Si se elimina la referencia de pInt antes de que obtenga un valor adecuado, se bloqueará inmediatamente en la mayoría de los sistemas (en lugar de colapsar mucho más tarde cuando se sobrescribe algo de la memoria o entra en un bucle muy largo).

Por supuesto, el comportamiento depende del hardware subyacente (puede ser perfectamente válido obtener un entero de 4 bytes de la dirección impar 0xDEADBEEF de un proceso de usuario), pero el bloqueo ha sido 100% confiable para todos los sistemas que he desarrollado hasta ahora ( Mac OS68xxx, Mac OS PowerPC, Linux Redhat Pentium, Windows GUI Pentium, consola de Windows Pentium). Por ejemplo, en PowerPC es ilegal (error de bus) obtener un entero de 4 bytes de una dirección impar.

¿Cuál es un buen valor para esto en sistemas de 64 bits?

Respuestas a la pregunta(10)

Su respuesta a la pregunta