Registrarse palabra clave en C ++

¿Cuál es la diferencia entre

int x=7; 

y

 register int x=7; 

?

Estoy usando C ++.

En C ++, cualquier progtwig que sea válido y use las palabras clave “auto” o “register” será semánticamente idéntico a uno con esas palabras clave eliminadas (a menos que aparezcan en macros stringized u otros contextos similares). En ese sentido, las palabras clave son inútiles para la comstackción adecuada de progtwigs. Por otro lado, las palabras clave pueden ser útiles en ciertos contextos macro para garantizar que el uso incorrecto de una macro provoque un error en tiempo de comstackción en lugar de producir un código falso.

register es una pista para el comstackdor, que le aconseja almacenar esa variable en un registro de procesador en lugar de memoria (por ejemplo, en lugar de la stack).

El comstackdor puede o no seguir esa sugerencia.

Según Herb Sutter en “palabras clave que no son (o, comentarios de otro nombre)” :

Un especificador de registro tiene la misma semántica que un especificador automático …