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

Массив, освобождение памяти - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Пояснение кода http://www.cyberforum.ru/cpp-beginners/thread677253.html
Есть в наличии готовая программа для определенных математических расчетов, по её аналогу пытаюсь сделать программу для своих целей. Вот кусок кода исходной программы #include<windows.h>...
C++ Графика в С++ Доброго времени суток, вопрос следующий: необходимо написать программу, с использованием относительно примитивной графики (точки, эллипсы и т.д), как это осуществить, установлена Visual C++ 2010, но... http://www.cyberforum.ru/cpp-beginners/thread677234.html
Дан Двумерный массив. Определить максимальную сумму значений элементов столбца C++
Дан Двумерный массив. Определить максимальную сумму значений элементов столбца. Я написал как ниже. Затем ввожу 3 и 4, затем 12 элементов массива от 1 до 12. Программа должна сначала выводить 1 2 3...
C++ Вывести числа в обратном порядке(рекурсия)
Здравствуйте, есть задача в которой нужно вывести числа в обратном порядке. Сначала вводится количество элементов , а затем сами элементы. Нельзя использовать массивы и циклы вообще. Не...
C++ Как подключить openSsl ? http://www.cyberforum.ru/cpp-beginners/thread677139.html
Первый вопрос уже в заголовке, и подскажите(ссылку в студию) где найти русский мануал под винду
C++ Описание объекта "Куб". Нахождение его площади и объема Всем доброго времени суток! К лабораторной работе нужно написать программу, которая сначала описывает объект "Куб", затем рассчитывает его площадь и объем. Преподаватель дал следующий алгоритм... подробнее

Показать сообщение отдельно
John Prick
801 / 734 / 145
Регистрация: 27.07.2012
Сообщений: 2,107
Завершенные тесты: 3
22.10.2012, 19:37
Цитата Сообщение от IGPIGP Посмотреть сообщение
Вы имеете ввиду случай когда объект приводится к целому типу (полю для которого перегружены ++)?
Нет, никакого приведения к целому типи я не имею ввиду. Здесь я указал пример реализации объекта, который может быть использован вместо целочисленного счётчика в цикле for. Например, так:
C++
1
2
for (T i = begin; i != end; ++i) {/*...*/}
for (T i = begin; i != end; i++) {/*...*/}
Понимаете, в чём разница? Какой оператор ++ будет вызван в каком случае?
С int примерно та же канитель, с той лишь разницей, что отдельно стоящий i++ компилятор, скорее всего, оптимизирует, убрав создание временной переменной, и никакой разницы с ++i не останется.

Ну и опять же в вашем примере ошибка:
C++
1
2
3
4
for(int i=0;;){
if(i<123)break;
mass[++i]=i;
}
первое значение i - ноль. Выполнится условие if (i < 123) и цикл прервётся по break.
Если вы хотели эквивалентрную запись, нужно было так:
C++
1
2
3
4
5
6
7
8
9
    {// локальная область видимости цикла for
        int i = 0;
        for (;;)
        {
            if (i == 123) break;
            mas[i] = i;
            ++i;
        }
    }
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru