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

Немного не понял ,написанное тут про инкремент и декремент - C++

Восстановить пароль Регистрация
 
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
22.11.2011, 16:35     Немного не понял ,написанное тут про инкремент и декремент #1
Немного не понял ,написанное тут про инкремент и декремент
Объясните на словах или на примерах .
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.11.2011, 16:35     Немного не понял ,написанное тут про инкремент и декремент
Посмотрите здесь:

Инкремент(Декремент) C++
Перевод из Pascal в C++ (тут немного) C++
C++ не очень понял про динамическое выделение памяти.
C++ Потокобезопасен ли префиксный инкремент/декремент?
я тут написал программу и не понял одной команды! C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Байт
 Аватар для Байт
13974 / 8805 / 1227
Регистрация: 24.12.2010
Сообщений: 15,949
22.11.2011, 16:48     Немного не понял ,написанное тут про инкремент и декремент #2
C
1
2
3
4
5
int a[] = { 1, 2, 3 };
int i = 0;
cout<<a[i++]; // Выводит 1
i = 0;
cout<<[++a]; // выводит 2
Андрей2011
29 / 23 / 2
Регистрация: 18.01.2011
Сообщений: 359
22.11.2011, 16:59     Немного не понял ,написанное тут про инкремент и декремент #3
короче говоря...когда ты пишешь:
int A=0;
int B=0;
B=A++;
То, B=0; - в результате.

когда ты пишешь:
int A=0;
int B=0;
B=++A;
То, B=1; - в результате.
Осознал?

т.е. 1 вариант, значение A меняется после присваивания.
2 вариант, значение А меняется перед присваиванием.
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.11.2011, 17:15     Немного не понял ,написанное тут про инкремент и декремент #4
Цитата Сообщение от Байт Посмотреть сообщение
cout<<[++a]; // выводит 2
так ведь нельзя, у вас же указатель константа...
C++
1
int *p;//лучше так объявлять указатель
Добавлено через 6 минут
iluxa1810, если разобрались, то угадайте, а чему будет равен n?
C
1
2
int i=1;
int n= ++i + ++i;
SlesherY
6 / 6 / 1
Регистрация: 14.11.2011
Сообщений: 54
22.11.2011, 17:36     Немного не понял ,написанное тут про инкремент и декремент #5
Цитата Сообщение от go Посмотреть сообщение
если разобрались, то угадайте, а чему будет равен n?
єто уже меня сбило... почему выходит не 5?
было 1, потом н = 2+3... или не так ?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.11.2011, 17:50     Немного не понял ,написанное тут про инкремент и декремент #6
Цитата Сообщение от SlesherY Посмотреть сообщение
потом н = 2+3... или не так ?
n= 3+3
мы сначала i увеличили на два, т.к. приоритет операции инкремент выше чем сложения.
iluxa1810
12 / 12 / 5
Регистрация: 03.09.2011
Сообщений: 1,022
22.11.2011, 18:08  [ТС]     Немного не понял ,написанное тут про инкремент и декремент #7
C++
1
2
int i=1;
int n= i++ + i++;
А если так,то первый раз будет 2 ,во второй раз если вызовим будет 6 ?
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
22.11.2011, 18:13     Немного не понял ,написанное тут про инкремент и декремент #8
iluxa1810, n=2, потом i увеличивается на 1, потом опять на 1 и в итоге i=3
Thinker
Эксперт C++
 Аватар для Thinker
4215 / 2189 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
22.11.2011, 18:18     Немного не понял ,написанное тут про инкремент и декремент #9
Цитата Сообщение от go Посмотреть сообщение
угадайте, а чему будет равен n?
C
1
2
int i=1;
int n= ++i + ++i;
Стивен Прата в параграфе "Не будьте слишком самоуверенными" пишет, что такой код может быть источником ошибок и не стоит обольщаться, что мы знаем как вычислит компилятор это выражение.
go
22.11.2011, 18:21
  #10

Не по теме:

Цитата Сообщение от Thinker Посмотреть сообщение
Стивен Прата в параграфе "Не будьте слишком самоуверенными" пишет, что такой код может быть источником ошибок и не стоит обольщаться, что мы знаем как вычислит компилятор это выражение.
Вы правы, не стоит так писать...
Я лишь привел, для того, чтобы автор мог поупражняться, на первом этапе это интересно и полезно

Thinker
22.11.2011, 18:23
  #11

Не по теме:

go, ничего не имею против, просто уточнил)

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.11.2011, 20:19     Немного не понял ,написанное тут про инкремент и декремент
Еще ссылки по теме:

C++ Непонятный вывод: постфиксные и префиксные инкремент/декремент
Инкремент, декремент и прочее. A+++ - что означают это три плюса C++
C++ Интересный вывод, инкремент и декремент в cout

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

Или воспользуйтесь поиском по форуму:
Байт
 Аватар для Байт
13974 / 8805 / 1227
Регистрация: 24.12.2010
Сообщений: 15,949
22.11.2011, 20:19     Немного не понял ,написанное тут про инкремент и декремент #12
Цитата Сообщение от Байт Посмотреть сообщение
C
1
2
3
4
5
int a[] = { 1, 2, 3 };
int i = 0;
cout<<a[i++]; // Выводит 1
i = 0;
cout<<[++a]; // выводит 2
Всем приношу глубокие извинения.
Конечно, описка.
Следует последнюю строчку читать cout<<a[++i];
Yandex
Объявления
22.11.2011, 20:19     Немного не понял ,написанное тут про инкремент и декремент
Ответ Создать тему
Опции темы

Текущее время: 00:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru