estoy un poco curioso sobre cómo C y C++ de datos mango que no se almacena en las variables, por ejemplo:¿Qué hace C (++) con valores que no están almacenados en variables?
int IE6_Bugs = 12345;
int Win_Bugs = 56789;
Sí - todo clara. IE6_Bugs
tiene 123456 almacenado en su dirección de memoria específica.
Entonces ¿qué pasa ..
if (IE6_Bugs + Win_Bugs > 10000)
{
// ...
Así C agarra los valores de las dos variables y los añade a fin de comparar el resultado con el int a la derecha.
Pero:
¿Se
IE6_Bugs+Win_Bugs
llegan a alcanzar la RAM? ¿O el procesador compara directamente los valores a través de su propio caché?O, en el proceso de compilación, ¿la declaración if anterior se convierte en algo más "comprensible" para la máquina? (Tal vez el cálculo
IE6_Bugs+Win_Bugs
primera y almacenarlo en alguna variable, ...)
int your_Bug = suponiendo que INT_MAX es más que 32768. – MSalters
Entonces Win_Bugs ha terminado INT_MAX - ¿dónde está el problema? ^^ Como habrás visto, he elegido 123456789 para los números de ejemplo. – lamas