= Сообщение: 6969 из 8392 ========================================= RU.LINUX = От : Slawa Olhovchenkov 2:5030/500 31 Dec 02 20:59:50 Кому : Valentin Nechayev 31 Dec 02 20:59:50 Тема : kernel compiling FGHI : area://RU.LINUX?msgid=2:5030/500+3e11dbc3 На : area://RU.LINUX?msgid=iv.nn.kiev.ua+86bef156 = Кодировка сообщения определена как: FIDO =================================== Ответ: area://RU.LINUX?msgid=iv.nn.kiev.ua+99ab8487 ============================================================================== Hello Valentin!
31 Dec 02, Valentin Nechayev writes to Vasya Kruglov:
AC>>> Вот у меня icc под рукой нет - проверить не могу, но MSVC по этому AC>>> коду AC>>> int main () AC>>> { AC>>> int sum = 0; AC>>> for (int i=0; i < 5; ++i){ AC>>> for (int i=0; i < 15; ++i){ AC>>> ++sum; AC>>> } AC>>> } AC>>> return sum; AC>>> } AC>>> сгенерил вот это AC>>> _main: AC>>> 00401000 mov eax,4Bh AC>>> 00401005 ret VK>> Хм. Прошу прощения, но разве после завершения работы данного куска кода VK>> sum не будет равно 15? Второй цикл выполнится 15 раз, по его завершению VK>> sum=15; i=15 и происходит выход из внешнего цикла. Или здесь опечатка и VK>> во внутреннем цикле используется переменная j?
Зависит от версии стандарта C++ по которой считаются области видимости. По старой 75, по новой 15.
VN> Какая разница? Первый приступ оптимизации выкинет любые действия над VN> переменной sum по той причине, что их результат не используется. VN> Последующие удалят сначала внутренний цикл, потом внешний, и в результате VN> останется пустое тело функции. Какие там переменные - уже пофиг.
??? Hе рано ль праздновать начал?
... Hу вот, я так и знала... --- GoldED+/BSD 1.1.5 * Origin: (2:5030/500)