|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Slawa Olhovchenkov 2:5030/500 31 Dec 2002 21:59:50 To : Valentin Nechayev Subject : kernel compiling -------------------------------------------------------------------------------- 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) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/22213e11dbc3.html, оценка из 5, голосов 10
|