Поделиться через


Аддитивные операторы: + и -

expression + expression 
expression – expression

Заметки

Ниже перечислены аддитивные операторы.

  • Сложение (+)

  • Вычитание ()

Эти бинарные операторы имеют ассоциативность слева направо.

Аддитивные операторы принимают операнды арифметических типов или типов указателей. Результатом оператора сложения (+) является сумма операндов. Результатом оператора вычитания () является разность операндов. Если один или оба операнда являются указателями, они должны быть указателями на объекты, а не на функции. Когда оба операнда являются указателями, результаты имеют смысл только в том случае, если оба операнда указывают на объекты в одном массиве.

Аддитивные операторы принимают операнды арифметических, целочисленных и скалярных типов. Они описаны в следующей таблице.

Типы, используемые с аддитивными операторами

Тип

Значение

арифметический

Целочисленные типы и типы с плавающей запятой собирательно называются "арифметическими" типами.

целочисленный

Типы char и int всех размеров (long, short), а также перечисления называются "целочисленными типами".

скалярный

Скалярные операнды — это операнды арифметического типа или типа указателя.

Допускаются следующие сочетания этих операторов:

арифметический + арифметический

скалярный + целочисленный

целочисленный + скалярный

арифметическийарифметический

скалярныйскалярный

Обратите внимание, что сложение и вычитание не являются эквивалентными операциями.

Если оба операнда арифметического типа, к ним применяются преобразования, описанные в разделе Арифметические преобразования, при этом результат относится к преобразованному типу.

Пример

// expre_Additive_Operators.cpp
// compile with: /EHsc
#include <iostream>
#define SIZE 5
using namespace std;
int main() {
   int i = 5, j = 10;
   int n[SIZE] = { 0, 1, 2, 3, 4 };
   cout  << "5 + 10 = " << i + j << endl
         << "5 - 10 = " << i - j << endl;

   // use pointer arithmetic on array

   cout << "n[3] = " << *( n + 3 ) << endl;
}

См. также

Ссылки

Выражения с бинарными операторами

Операторы C++

Операторы C++, приоритет и ассоциативность

Добавление типов указателей

Вычитание типов указателей

Аддитивные операторы в C