En el lenguaje de programación C , register
es una palabra reservada (o palabra clave), modificador de tipo, clase de almacenamiento y sugerencia. La register
palabra clave quedó obsoleta en C++ , hasta que se volvió reservada y no se usó en C++17 . Sugiere que el compilador almacene una variable declarada en un registro de CPU (o alguna otra ubicación más rápida) en lugar de en la memoria de acceso aleatorio . Si es posible, dependiendo del tipo de CPU y la complejidad del código del programa, optimizará el acceso a esa variable y, por lo tanto, mejorará el tiempo de ejecución de un programa. En C (pero no en C++, donde la palabra clave se ignora esencialmente), no se puede acceder a la ubicación de una variable declarada con, pero se puede aplicar el operador. [1] Aparte de esta limitación, esencialmente no tiene sentido en los compiladores modernos debido a la optimización que colocará las variables en un registro si es apropiado independientemente de si se da la sugerencia. [ cita requerida ] Para la programación de sistemas integrados aún puede ser significativo; por ejemplo, el compilador Microchip MPLAB XC32 permite al programador especificar un registro particular con la palabra clave; sin embargo, esto se desaconseja a favor de las optimizaciones del compilador. [2] Cuando se utiliza, normalmente es para contadores de bucle o posiblemente para otras variables utilizadas con mucha frecuencia en el código.register
sizeof
register
register
register
/* almacena la variable entera "i" en RAM, registro u otra ubicación que el compilador considere conveniente */ int i ; /* sugiere almacenar la variable entera "i" en un registro de CPU u otra ubicación rápida */ register int i ;