Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.65/48: Рейтинг темы: голосов - 48, средняя оценка - 4.65
1 / 1 / 0
Регистрация: 23.12.2010
Сообщений: 105
1

Инкремент и преинкремент

04.11.2012, 01:17. Показов 9479. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Я вот решил протестить в чем разница между инкрементом и преинкрементом, и как-то не увидел разницы... В чем же разница?
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
int main(){
    int l=0;
    for(int i=0;i<10;i++){
        l+=i;
        cout<<l<<endl;
    }
   // cout<<l;
    return 0;
}
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
using namespace std;
int main(){
    int l=0;
    for(int i=0;i<10;++i){
        l+=i;
        cout<<l<<endl;
    }
   // cout<<l;
    return 0;
}
Заранее благодарен.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.11.2012, 01:17
Ответы с готовыми решениями:

Какая операция быстрее, постинкремент, или преинкремент?
какая операция быстрее: постинкремент, или преинкремент? и почему? как их можно записать на...

Инкремент
Приветствую! Потребовалось реализовать функцию инкремента, но ничего не выходит. Сабж: ...

Инкремент ++
3) Инкремент ромба (++): меньшая из диагоналей ромба увеличивается на единицу. В...

Инкремент
Можно каким то образом вставить инкремент в пост переменную? Например $_POST;

4
127 / 125 / 16
Регистрация: 03.07.2011
Сообщений: 354
04.11.2012, 01:27 2
в данном случае разницы нет.
C++
1
2
3
i = 0;
k = ++i; // k = 1, i = 1
k =  i++; // k = 1, i = 2
т.е. ++i сначало увеличивает значение, а потом его "возвращает", а i++ сначало "возвращает", а потом уже увеличивает (если точнее, то значение запоминается в буфферной переменной, затем старая переменная увеличиваетсяя, а значение буфферной возвращается)

Добавлено через 2 минуты
в книжке написано, что ++i эффективнее использовать, чем i++, т.к в первом случае на 1 операцию меньше выходит:
увеличить значение, вернуть его,
запомнить значение, увеличить старое, вернуть запомненное
но это уже маразм
1
349 / 299 / 166
Регистрация: 15.03.2012
Сообщений: 653
Записей в блоге: 1
04.11.2012, 01:35 3
Вот рабочий пример.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <iostream>
using namespace std;
 
int main(){
    int l=0;
    for(int i=0;i<10;i++){
        l = i;
        cout << l << ' ';
        cout << ++l << ' ';
        cout << l++ << ' ';
        cout << l << endl;
    }
   // cout<<l;
    return 0;
}
1
1 / 1 / 0
Регистрация: 23.12.2010
Сообщений: 105
04.11.2012, 01:46  [ТС] 4
Цитата Сообщение от ZoRT Посмотреть сообщение
т.е. ++i сначало увеличивает значение, а потом его "возвращает", а i++ сначало "возвращает", а потом уже увеличивает (если точнее, то значение запоминается в буфферной переменной, затем старая переменная увеличиваетсяя, а значение буфферной возвращается)
Это мне то понятно...

Цитата Сообщение от ZoRT Посмотреть сообщение
в данном случае разницы нет
А здесь почему ???
0
46 / 46 / 4
Регистрация: 08.12.2010
Сообщений: 161
04.11.2012, 02:09 5
Цитата Сообщение от Andrey96 Посмотреть сообщение
А здесь почему ???
Потому что в данном случае инкрементация или преинкрементация выполняется после окончания одного шага цикла и как бы выходит что мы не возвращаем значения а выполняем увеличение значения переменной, пока не выполнится действие значение возвращать не нужно, выходит что:
i = 0 присвоение
сравнивание i < 10
выполнение шага цикла
инкремент и вновь сначало выполняем сравнивание
1
04.11.2012, 02:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.11.2012, 02:09
Помогаю со студенческими работами здесь

Инкремент/декремент
День добрый , подскажите пожалуйста как в VB делать инкремент или декримент, при помощи кнопки в...

Инкремент и декремент
int x = 100,a; a = x++/x--; System.out.println(&quot;от результ:&quot; + a); Результат...

Не срабатывает инкремент
Вот этоткод работает в С++ я не могу его заставить в дельфи работать, как грузить в Эдит построчно...

Инкремент и декремент
Друзья, подскажите пожалуйста, как результатом работы примера получаем число 45? Вот пример: $i...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru