Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Управление камерой через USB https://www.cyberforum.ru/ cpp/ thread11657.html
Существует ли библиотека для управления камерой через USB ? (камера Panasonic DVD-юшная)
C++ Чем отличается Visual C++ от Borland C++?
мужики у меня тут вопрос я конечно полный нуб еще:eek: а чем отличается Visual C++: от Borland C++ ? вроде ето один и тотже язык программирования
C++ Как работать с реестром? Привет! Я должен написать программу, которая не разрешает вставлять дискеты, флэшки, диски в комп. Но подобными вещами пока не занимался. Решил начать с того, что прога будет выдавать сообщение, типа "вы вставили диск..." ну или как-то так... только пока не начал. Если кто-то когда-то писал такое, может что-то посоветуете. Или может подскажете, где хорошо описана работа с реестром, я попробую... https://www.cyberforum.ru/ cpp/ thread10544.html C++ Подскажите сайты с Open Source проектами, в которых можно поучаствовать Люди дайте пожалуйста ссылки на сайты где есть открытые проекты на С++ в которых можно поучаствовать. Чо та гугл молчок).спс. https://www.cyberforum.ru/ cpp/ thread10540.html
C++ 16-разрядная подсистема MS-DOS
куда надо писать, не знаю, поэтому спрошу тут. ошибка вылазиет не в моей проге, а после того, как последняя скомпилировалась, причем в отдельном окошке: '16-разрядная подсистема MS-DOS Borand c++ for Dos процессор NTVDM обнаружил недопустимую инструкцию. CS:0000 IP:0077 OP:f0 37 05 10 02 Для завершения работы приложения нажмите кнопку "Закрыть".'
C++ Перевести визуализацию WinAmp в полноэкранный режим Как перевести визуализацию винампа в полноэкрнный режим? эмулирование alt+enter и даблклик почемуто не работают HWND h; h=FindWindow("Winamp v1.x", NULL); SendMessage(h,WM_COMMAND,40192,0); h=FindWindow("avswnd", NULL); SetForegroundWindow(h); variant_1 --- SendMessage(h, WM_SYSKEYDOWN, VK_RETURN, 0); --- https://www.cyberforum.ru/ cpp/ thread10448.html
C++ Обработка wave файлов Если у кого исходники или хотя бы идеи по поводу работы с wave файлами средствами С++.К примеру разбиение данных по 20мс,нахождение периода основного тона на этих участках,замещение следующего фрагмента предыдущим.Буду признателен любой помощи! https://www.cyberforum.ru/ cpp/ thread9750.html Проблема с фонтом при старте программы C++
Привет всем. Проблема в следующем. Написал программу на С++ принцип действия в следующем: Имеются два комбобокса в одном из которых я выбираю сервер а в другом выбираю язык русский или английский. При выборе в комбобоксе конкретного сервера в ЛистБоксе приносит список баз, щелкая на которых в ДБГриде приносит результат определенного селекта.Меняя язык в комбобоксе меняется инфа в ДБГриде. Когда...
C++ Анализ данных XML-документа https://www.cyberforum.ru/ cpp/ thread9333.html
Помогите с программой. Нужно считать числовые данные(цена, частота мин, частота макс) из XML-документа в двухмерный массив и записать этот массив в текстовый файл. Вот XML <?xml version="1.0" encoding="UTF-8"?> <headphones id="id1"> <title>Technics</title> <Characteristic amount="24" unit="доллар">Цена</Characteristic> <Characteristic amount="20" unit="герц">Частота мин</Characteristic>...
C++ Функция wait Доброго времени суток. Передо мной встал вопрос на который я не могу дать ответ, может ктонибудь знает. Вопрос: определить, что должно происходить, если вызов wait функции возвращает -1. https://www.cyberforum.ru/ cpp/ thread9194.html
Отслеживание действий мыши C++
Всем привет, хотелось бы сделать хук на мышь, не подскажете литературу или методы существующие Спасибо
C++ Графическая библиотека GD https://www.cyberforum.ru/ cpp/ thread8907.html
Кто-нибудь работал с сабжем? У меня проблема. Глюки с ф-ей gdImageGetPixel() - каждый раз при перезапуске программы она возвращает разные значения одних и тех же пикселов. Не могу понять, в чём дело... Добавлено через 21 час 6 минут Неужели никто не работал с этой либой?
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
31.08.2008, 15:21 0

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

31.08.2008, 15:21. Показов 8752. Ответов 23
Метки (Все метки)

Ответ

Спасибо Vourhey за столь любопытное исследование.
Но, у меня вопрос первый: а зачем нам дизассемблирование? Тот код, который мы получаем в дизассемблере, говорит только лишь о том, что вот так вот это реализовано в данном конкретном компиляторе на данной конкретной ОС... и ничего не говорит о том, что произойдет на другом компиляторе и/или другой ОС/железе.

С моей точки зрения, представляют интерес два вопроса:
1. Что говорит Стандарт - т.е., что должно быть?
2. Как реально ведут себя некоторые современные компиляторы, - т.е. насколько точно они соответствуют Стандарту, либо не соответствуют. Что есть на самом деле?

Итак:
1. Стандарт определяет поведение и область видимости управляющей переменной исчерпывающим образом:
[basic.scope.local] 3.3.2 Local scope
....
4 Names declared in the for-init-statement, and in the condition of if, while, for, and switch statements are local to the if, while, for, or switch statement (including the controlled statement), and shall not be redeclared in a subsequent condition of that statement nor in the outermost block (or, for the if statement, any of the outermost blocks) of the controlled statement; see 6.4.
То есть, утверждение "То есть, она не внутренняя и не скрытая по отношению ко внешнему от цикла миру." мне представляется неверным. Вероятно, мы Vourhey с разошлись в трактовке этого предложения...
2. Из доступных мне компиляторов: (В последние годы я работаю в основном с Microsoft Visual C++....)
а). MS visual C++ 6.0 (1998) не соответствует Стандарту: область видимости управляющей переменной цикла простирается от заголовка цикла до конца объемлющего блока; т.е., код вида
Код
for(int i = 0; i < SOME_VALUE; ++i)
{
    // ... что-то делаем...
}
// ... еще что-то...
i = 20;
cout << i << endl;
// ...
нормально скомппилируется. Ну что ж, VC++ 6 был выпущен еще примерно за полгода до принятия Стандарта, так что с него взятки гладки...
б). MS Visual C++ 7.0 (2002) и 7.1 (2003) занимают промежуточную позицию: по умолчанию включен старый режим, ключ компилятора /Zc:forScope позволяет включить режим точного соответствия Стандарту.
в). MS Visual C++ 8.0 (2005) и последующие по умолчанию точно соответствуют Стандарту; это означает, что приведенный код просто не скомпилируется. Впрочем, все тот же ключ forScope позволяет обеспечить таки совместимость со старым унаследованным кодом и скомпилировать приведенный фрагмент.
г). GCC 4.2.2 (Linux) точно соответствует Стандарту.

Вернуться к обсуждению:
Циклы for. Проблема объявления/инициализации C++
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
31.08.2008, 15:21
Готовые ответы и решения:

Правила объявления инициализации
Напишите основные - самые главные правила обьявления инициализации.

Отличие объявления, определения и инициализации
Здравствуйте, товарищи. Читаю тут книжицу по C++, учусь потихоньку. И возник у меня вопрос...

проблема в коде задачи на циклы
#include &lt;iostream&gt; using namespace std; int main() { int n; double sum=0;...

Когда выделяется память под переменные - во время объявления или инициализации
Привет! Вопрос такой: когда выделяется память под переменные - во время объявления или...

23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
31.08.2008, 15:21
Помогаю со студенческими работами здесь

Проблема с ADWORDS: при активности кампании объявления не показываются..
Добрый день. Возникла странная проблема. Была создана кампания в adwords. Она прошла модерацию...

Циклы. Написал программу, но проблема в том, что цикл пробегает всего один раз...
Доброго времени суток. Пишу небольшой парсер для сайта курсов валют. Написал программу, но проблема...

Циклы с условием, циклы с переменной, вложенные циклы
С условием 1. Ввести натуральное число N и вычислить сумму всех чисел фибоначчи меньших N....

Циклы. Напечатать числа в виде таблицы, используя только циклы
Напечатать числа в виде таблицы, используя только циклы (массивы и строки не применять): ...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru