Открыть главное меню

Инкремент

Инкремент, инкрементирование (от англ. 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.

В Agile используется технология PI-планирования (Program Increment Planing, планирование инкремента программы) которое распределяет значимость и порядок выполнения поставленных задач между командами. Основная цель скоординировать команды друг с другом и упорядочить выполнение задач[1].

Выполнение операцииПравить

Поскольку операция инкремента (как и декремента) используется очень часто, арифметическое устройство процессора может выполнять её на аппаратном уровне, для чего имеется отдельная низкоуровневая команда. Поэтому инкремент выполняется быстрее, чем если бы производилось прибавление единицы к числу обычным способом. Поэтому для компиляторов языка Си, которые плохо оптимизируют исходный код программы, запись ++x предпочтительнее, чем x = x + 1 или x += 1 , хотя большинство современных компиляторов языка Си уже без проблем сами заменяют арифметические выражения x = x + 1 или x += 1 на низкоуровневый инкремент на этапе оптимизации и компиляции.

См. такжеПравить

ПримечанияПравить