Форум программистов, компьютерный форум, киберфорум
Наши страницы

Циклы for. Проблема объявления/инициализации - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Управление камерой через USB http://www.cyberforum.ru/cpp/thread11657.html
Существует ли библиотека для управления камерой через USB ? (камера Panasonic DVD-юшная)
C++ Чем отличается Visual C++ от Borland C++? мужики у меня тут вопрос я конечно полный нуб еще:eek: а чем отличается Visual C++: от Borland C++ ? вроде ето один и тотже язык программирования http://www.cyberforum.ru/cpp/thread11200.html
C++ Как работать с реестром?
Привет! Я должен написать программу, которая не разрешает вставлять дискеты, флэшки, диски в комп. Но подобными вещами пока не занимался. Решил начать с того, что прога будет выдавать сообщение, типа...
C++ Подскажите сайты с Open Source проектами, в которых можно поучаствовать
Люди дайте пожалуйста ссылки на сайты где есть открытые проекты на С++ в которых можно поучаствовать. Чо та гугл молчок).спс.
C++ 16-разрядная подсистема MS-DOS http://www.cyberforum.ru/cpp/thread10534.html
куда надо писать, не знаю, поэтому спрошу тут. ошибка вылазиет не в моей проге, а после того, как последняя скомпилировалась, причем в отдельном окошке: '16-разрядная подсистема MS-DOS ...
C++ Перевести визуализацию WinAmp в полноэкранный режим Как перевести визуализацию винампа в полноэкрнный режим? эмулирование alt+enter и даблклик почемуто не работают HWND h; h=FindWindow("Winamp v1.x", NULL); SendMessage(h,WM_COMMAND,40192,0);... подробнее

Показать сообщение отдельно
Vourhey
Почетный модератор
6486 / 2260 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
31.08.2008, 15:28  [ТС]
Стоп, стоп, стоп. Я не слова не сказал про область видимости переменной. Заметь.
Я объяснил, что не так с этим объявлением. По-моему, вполне доступно. С учетом того, что компилеров куча и настроить их можно по-разному код нужно писать безопаснее. А объявление в заголовке цикла это сделать не позволяет на 100%. Что и требовалось доказать. Такое написание вполне нормально, но есть и свои минусы.

P. S. мне особо без разницы, что где написано, пока я не увижу. Дизассемблерный листинг показывает лучше всего.

P. P. S. ты можешь компилить в студии, а я, например, в G++ (версия 3.1) могу скомпилить такой код:
Код
   for(int i = 0;i<10;i++)
   {
      int i;
   }
надеюсь ты понимаешь, что если бы int i = 0 ,имела внутреннюю область видимости, то этот код бы не компилился с ошибкой redeclaration of "i". Возможность компиляции такой записи говорит сама за себя. Тут даже на уровне с++ переменная внешняя.

Повторюсь. Я не говорю, что это неправильно и так нельзя делать. Это нормально, и так вполне нормально кодить. Просто в жизни все бывает. И полностью рабочий код в одном случае может сработать не так, как хотелось в другом. Надо это учитывать.
Так что, будем объективны. Код нужно писать безопасней, если возможно.
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru