Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
ivpoed
1 / 1 / 2
Регистрация: 21.03.2010
Сообщений: 38
1

Вопрос про цикл for

12.04.2010, 10:54. Просмотров 971. Ответов 9
Метки нет (Все метки)

Скажите, а есть ли какая-то разница в записях:
C++
1
for (int i=0; i<n; i++)
и
C++
1
for (int i=0; i<n; ++i)
Спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.04.2010, 10:54
Ответы с готовыми решениями:

Вопрос про цикл.
Добрый день. Попал в тупик, не знаю как закрутить cin&gt;&gt; в цикл подскажите...

вопрос про new из с++ за 21 день
контрольный вопрос: что возвращает оператор new, когда для создания объекта...

Вопрос про friend
Вот мой код. #include&lt;iostream&gt; using namespace std; class Bottle; class...

Вопрос про табуляцию в C++
Символ табуляции он одновременно переносит курсор на след.строку и выравнивает...

вопрос про скобки
Здравствуйте, получил задание написать программу, смысл которой заключается в...

9
DartDayring
14 / 14 / 5
Регистрация: 10.02.2010
Сообщений: 72
12.04.2010, 11:05 2
Разница есть: ++i увеличивает значение. а потом возвращает его. i++ возвращает значение, а затем увеличивает его.
0
ivpoed
1 / 1 / 2
Регистрация: 21.03.2010
Сообщений: 38
12.04.2010, 11:05  [ТС] 3
Это понятно. Но применительно к циклу for - есть разница?
0
Lаmer
7 / 7 / 7
Регистрация: 24.03.2010
Сообщений: 25
12.04.2010, 11:06 4
Разница есть. Префиксная и постфиксная форма инкремента. В префиксной - сначала модифицируется параметр, затем выполняются действия. В постфиксной - наоборот - сначала выполняются действия, затем модифицируется параметр.
0
DartDayring
14 / 14 / 5
Регистрация: 10.02.2010
Сообщений: 72
12.04.2010, 11:07 5
Цитата Сообщение от ivpoed Посмотреть сообщение
Но применительно к циклу for - есть разница?
разница есть
0
ivpoed
1 / 1 / 2
Регистрация: 21.03.2010
Сообщений: 38
12.04.2010, 11:15  [ТС] 6
Просто сколько пробовал в разных циклах менять ++i на i++ - результат один и тот же.
Внутри цикла счётчик (int i) те же значения принимает в одинаковые итерации циклов.
В чём тогда различие с точки зрения цикла?
0
M128K145
Эксперт JavaЭксперт С++
8326 / 3546 / 420
Регистрация: 03.07.2009
Сообщений: 10,708
12.04.2010, 11:22 7
DartDayring, Lаmer, ivpoed, если в форе кроме этих трех действий указать еще четвертое, пятое и т.д., которые учитывают значение i то разница есть. Если в форе нет дополнительных действий то для тела фора разницы нету. Посмотрите программу
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
int main()
{
    int i;
    for(i = 0; i < 10; std::cout<<++i<<'\t')
        std::cout<<"for "<<i<<std::endl;
    std::cout<<'\n'<<std::endl;
    for(i = 0; i < 10; std::cout<<i++<<'\t')
        std::cout<<"for "<<i<<std::endl;
    return 0;
}
Результат
Код
for 0
1       for 1
2       for 2
3       for 3
4       for 4
5       for 5
6       for 6
7       for 7
8       for 8
9       for 9
10

for 0
0       for 1
1       for 2
2       for 3
3       for 4
4       for 5
5       for 6
6       for 7
7       for 8
8       for 9
9
0
ivpoed
1 / 1 / 2
Регистрация: 21.03.2010
Сообщений: 38
12.04.2010, 11:51  [ТС] 8
Вот оно как. Понял, спасибо!
0
rangerx
1942 / 1551 / 478
Регистрация: 31.05.2009
Сообщений: 2,913
12.04.2010, 14:38 9
Цитата Сообщение от ivpoed Посмотреть сообщение
Скажите, а есть ли какая-то разница в записях:
Which is more efficient: i++ or ++i?
0
Nick Alte
Эксперт С++
1647 / 1019 / 174
Регистрация: 27.09.2009
Сообщений: 1,945
Завершенные тесты: 1
12.04.2010, 19:07 10
При организации цикла на целочисленных переменных разницы нет. Если же использовать хитронавороченные итераторы и аналогичные объекты, стоимость копирования/уничтожения которых может оказаться велика, надо использовать ++i (почему - объясняется по приведённой rangerx ссылке). Многие пишут ++i в любом случае, даже с целочисленными переменными, для единообразия и выработки привычки писать правильный инкремент.
0
12.04.2010, 19:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.04.2010, 19:07

Вопрос про реестр
Здравствуйте господа програмисты!У меня есть программа,честно сознаюсь скачал с...

Вопрос про outtextxy()
Если в графическом режиме выводить текст с помощью функции outtextxy() поверх...

Вопрос про указатели
#include &lt;iostream.h&gt; int main() { int x; int *Pointer; pointer = &amp;x;...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru