Инкремент, инкрементирование (от англ. increment «увеличение») — операция во многих языках программирования, увеличивающая переменную. Обратную операцию называют декремент (уменьшение). Чаще всего унарная операция приводит переменную к следующему элементу базового типа (то есть для целых чисел — увеличивает на 1, для символьного типа даёт следующий символ в некоторой таблице символов и т. п.)
Использование в языках программирования Инкремент часто используется в языках программирования (равно как и в машинном языке большинства микропроцессоров), например, при организации цикла, где какая-то величина в каждом новом шаге цикла становится больше на единицу.
Для примера возьмём язык программирования JavaScript:
x++ Соответствующий ему декремент выглядит так:
x-- Оператор инкрементирования можно записывать с обеих сторон («префиксный инкремент» ++x и «постфиксный инкремент» x++). От этого зависит результат операции, но не его побочного действия. Так:
var y = ++x можно записать, как
x = x + 1 var y = x В то время, как
var y = x++ эквивалентно
var y = x x = x + 1 «префиксный декремент» --x и «постфиксный декремент» x-- действуют аналогично на переменную x, уменьшая её.
Использование в наименованиях Обозначение оператора унарного постфиксного инкремента используется в названии языка программирования C++, как указание на его усовершенствование относительно своего предшественника (язык С)
Аналогичным образом назван текстовый редактор Notepad++, отсылающий к не связанной с ним программой Notepad.
Выполнение операции Поскольку операция инкремента (как и декремента) используется очень часто, арифметическое устройство процессора может выполнять её на аппаратном уровне, для чего имеется отдельная низкоуровневая команда. Поэтому инкремент выполняется быстрее, чем если бы производилось прибавление единицы к числу обычным способом. Поэтому для компиляторов языка Си, которые плохо оптимизируют исходный код программы на языке Си запись ++x предпочтительнее, чем x = x + 1 или x += 1 , хотя большинство современных компиляторов языка Си уже без проблем сами заменяют арифметические выражения x = x + 1 или x += 1 на низкоуровневый инкремент на этапе оптимизации и компиляции.
Инкремент часто используется в языках программирования (равно как и в машинном языке большинства микропроцессоров), например, при организации цикла, где какая-то величина в каждом новом шаге цикла становится больше на единицу.
Для примера возьмём язык программирования JavaScript:
x++
Соответствующий ему декремент выглядит так:
x--
Оператор инкрементирования можно записывать с обеих сторон («префиксный инкремент» ++x и «постфиксный инкремент» x++). От этого зависит результат операции, но не его побочного действия. Так:
var y = ++x
можно записать, как
x = x + 1
var y = x
В то время, как
var y = x++
эквивалентно
var y = x
x = x + 1
«префиксный декремент» --x и «постфиксный декремент» x-- действуют аналогично на переменную x, уменьшая её.
Обозначение оператора унарного постфиксного инкремента используется в названии языка программирования C++, как указание на его усовершенствование относительно своего предшественника (язык С)
Аналогичным образом назван текстовый редактор Notepad++, отсылающий к не связанной с ним программой Notepad.
Поскольку операция инкремента (как и декремента) используется очень часто, арифметическое устройство процессора может выполнять её на аппаратном уровне, для чего имеется отдельная низкоуровневая команда. Поэтому инкремент выполняется быстрее, чем если бы производилось прибавление единицы к числу обычным способом. Поэтому для компиляторов языка Си, которые плохо оптимизируют исходный код программы на языке Си запись ++x предпочтительнее, чем x = x + 1 или x += 1 , хотя большинство современных компиляторов языка Си уже без проблем сами заменяют арифметические выражения x = x + 1 или x += 1 на низкоуровневый инкремент на этапе оптимизации и компиляции.