Мне немного любопытно, как C и С++ обрабатывают данные, которые не хранятся в переменных, например:
int IE6_Bugs = 12345;
int Win_Bugs = 56789;
Да, все ясно. IE6_Bugs
имеет 123456, сохраненный в нем определенный адрес памяти.
Тогда как насчет..
if ( IE6_Bugs + Win_Bugs > 10000 )
{
// ...
Итак, C захватывает значения двух переменных и добавляет их, чтобы сравнить результат с int справа.
Но:
-
Достигает ли
IE6_Bugs+Win_Bugs
RAM? Или процессор напрямую сравнивает значения через свой собственный кеш? -
Или в процессе компиляции приведенный выше оператор if преобразуется в нечто более понятное для машины? (Возможно, сначала просчитайте
IE6_Bugs+Win_Bugs
и сохраните его в некоторой переменной,...)