Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
-30 / 8 / 1
Регистрация: 31.05.2013
Сообщений: 485

Как выполняется постфиксный и префиксный инкремент?

25.10.2014, 08:01. Показов 1520. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Растолкуйте!
Обычно, а = с++ толкуется как а = с+1
тогда
а = ++с есть а = 1+с
Если использовать последнюю запись (а = 1+с),верно ли поймет компилятор, что а = 1 и с = с+1
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.10.2014, 08:01
Ответы с готовыми решениями:

Префиксный и постфиксный инкремент
#include <iostream> using namespace std; int main() { int c=0; cout<<с++<<++с<<++с<<с++<<endl; return 0; ...

Инкремент постфиксный и префиксный - принцип работы
Hello World! Нужна ваша помощь, мозг отказывается понимать :wall:! Набрал код: #include <iostream> using namespace std; ...

Указатели: почему так происходит? Постфиксный и префиксный инкремент
В общем, вот код программы double q; for (int i(0);i<10;i++) { q=i; } cout<<q<<endl; double* d=q; ...

2
3258 / 2060 / 351
Регистрация: 24.11.2012
Сообщений: 4,909
25.10.2014, 08:06
Грубо говоря:
Цитата Сообщение от Albaz Посмотреть сообщение
Обычно, а = с++ толкуется как а = с+1
a = c;
c = c + 1;

Цитата Сообщение от Albaz Посмотреть сообщение
а = ++с есть а = 1+с
c = c + 1;
a = c;
1
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
12937 / 6804 / 1821
Регистрация: 18.10.2014
Сообщений: 17,221
25.10.2014, 08:18
Лучший ответ Сообщение было отмечено Albaz как решение

Решение

Цитата Сообщение от Albaz Посмотреть сообщение
Обычно, а = с++ толкуется как а = с+1
Это где это оно так толкуется?

Нет. Свойством встроенного постфиксного оператора '++' является то, что оно возвращает старое значение аргумента. Это значит, что 'a = c++' может быть интерпретировано как

C++
1
2
a = c;
c = c + 1;
или как

C++
1
2
3
tmp = c;
c = c + 1;
a = tmp;
или даже как

C++
1
2
c = c + 1;
a = с - 1;
Как конкретно оно интерпретируется - нигде не оговаривается. Главное, что в итоге 'c' должно увеличиться на 1, а 'a' должно получить изначальное значение 'c'.

Цитата Сообщение от Albaz Посмотреть сообщение
а = ++с есть а = 1+с
Опять не верно. Это есть

C++
1
2
c = c + 1;
a = c;
или

C++
1
2
a = c + 1;
c = c + 1;
или еще как-нибудь. Как это будет происходить - никого не волнует. Главное, что в итоге 'c' должно увеличиться на 1, а 'a' должно получить новое значение 'c'.

Цитата Сообщение от Albaz Посмотреть сообщение
Если использовать последнюю запись (а = 1+с),верно ли поймет компилятор, что а = 1 и с = с+1
Нет, разумеется. Тут ни никакого 'a = 1', ни 'с = с+1'. С чего это вдруг?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
25.10.2014, 08:18
Помогаю со студенческими работами здесь

Поясните как работает постфиксный и префиксный оператор на примере
Здравствуйте. Здесь префиксный понятно, а что если изменить на постфиксный, как код будет работать? vector<int>::size_type...

Префиксный и постфиксный инкременты
Приветствую всех. Экспериментом установил, что префиксный инкремент переменной стандартного типа возвращает ссылку на эту же уже измененную...

Постфиксный и префиксный декремент
#include <iostream> using std::cout; int main() { int a=5; cout << (--a)-- << " "; cout << a << " "; cout << (--a)-- <<...

Постфиксный, и префиксный экземпляры оператора приращения: в чем разница?
постфиксный, и префиксный экземпляры оператора приращения в чем разница? i++ ++i ??

Потокобезопасен ли префиксный инкремент/декремент?
Потокобезопасен ли префиксный инкремент/декремент? Например такой код: // Объявляем глобальную переменную uint64_t i=0; // Тут...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru