Operadores para tipos primitivos

Índice

  1. Prioridade de Operadores
  2. Operadores Aritméticos
  3. Operadores Relacionais
  4. Operadores Unários
  5. Operadores Lógicos
  6. Outros Operadores

Prioridade de Operadores

A prioridade dos operadores define em que ordem eles são executados primeiro. Uma tabela completa se encontra no cppreference.

Operadores Aritméticos

Operadores aritméticos servem para fazer manipulações algébricas. Efetivamente, somar, dividir, etc.

OperadorSintaxe
Somax + y
Subtraçãox - y
Multiplicaçãox * y
Divisãox / y
Resto*x % y

* É comum encontrar documentações descrevendo o operador % como "Módulo". O problema é que % faz resto da divisão, e não módulo. A diferença entre eles é visível nos números negativos:

x:          | -5 | -4 | -3 | -2 | -1 |  0 |  1 |  2 |  3 |  4 |  5 |
x resto 3:  | -2 | -1 |  0 | -2 | -1 |  0 |  1 |  2 |  0 |  1 |  2 |
x módulo 3: |  1 |  2 |  0 |  1 |  2 |  0 |  1 |  2 |  0 |  1 |  2 |

Perceba que, diferente do resto da divisão, o "módulo" sempre repete os valores [0..N), em que, para a tabela de cima, N seria 3.

Operadores Relacionais

Operadores relacionais servem para verificar se uma relação entre dois elementos é verdadeira.

OperadorSintaxe
Igualdadex == y
Diferençax != y
Menor quex < y
Maior quex > y
Menor ou igualx <= y
Maior ou igualx >= y

Operadores Unários

Operadores unários são aqueles que operam por apenas um único dado.

OperadorSintaxe
Negação (para números)-x
Incremento++x
Decremento--x

Operadores Lógicos

Operadores lógicos trazem o resultado de uma operação booleana.

OperadorSintaxetrue quando
Complemento lógico*!x ou not xx é false
"E" lógicox && yx e y são true ao mesmo tempo
"Ou" lógicox || yx ou y são true

*: O complemento lógico serve para retornar o inverso de um booleano. Ou seja, se thing era verdadeiro, !thing é falso. Perceba que esse operador é também um operador unário.

Outros Operadores

Neste tutorial estão listados apenas os operadores mais usuais. Uma lista completa de operadores pode ser vista no cppreference.