Главная chevron_right Структура chevron_right Составные операторы chevron_right += (compound addition)

+= (compound addition)

Оператор += прибавляет значение к переменной и сохраняет результат в ней же: x += y — это краткая запись x = x + y.

Полная статья

Описание

Оператор += — это составной оператор сложения. Он прибавляет правый операнд к левому и сохраняет результат в той же переменной. Запись x += y полностью равнозначна x = x + y, но короче и читается естественнее, особенно когда переменная встречается в длинном выражении.

Оператор работает с целыми и дробными числами: int, long, short, byte, float, double.

Синтаксис

x += y; // equivalent to the expression x = x + y;

Параметры

  • x: переменная, к которой прибавляется значение. Допустимые типы: int, float, double, byte, short, long.
  • y: прибавляемое значение — переменная или числовая константа. Допустимые типы: int, float, double, byte, short, long.

Пример кода

    x = 2;
    x += 4; // x теперь равен 6

Где применяется

  • Счётчик событий — увеличивать счётчик нажатий кнопки или импульсов датчика на 1 при каждом срабатывании.
  • Накопление суммы — суммировать показания АЦП в цикле, чтобы потом усреднить результат.
  • Анимация и движение — постепенно смещать позицию объекта на экране или угол сервопривода на фиксированный шаг.
  • Таймеры без delay() — накапливать прошедшее время в переменной внутри loop().

Практические замечания

  • Переполнение типа. Если x объявлен как byte (диапазон 0–255) и вы прибавляете значение, которое выводит сумму за 255, переменная «перевернётся» и окажется у нуля. Выбирайте тип с запасом по диапазону.
  • Смешивание типов. Когда x и y имеют разные типы, компилятор приводит y к типу x перед записью. Например, если xint, а yfloat, дробная часть будет отброшена. Чтобы сохранить точность, объявляйте x как float.
  • Отладка через Serial. Если результат выглядит неожиданно, добавьте Serial.println(x) сразу после += — так сразу видно, что происходит с переменной на каждой итерации.
  • Порядок операций. += имеет более низкий приоритет, чем арифметические операторы справа. Выражение x += a * b сначала вычислит a * b, а затем прибавит результат к x — это ожидаемое поведение.

Полезные материалы