Esses são operadores unários pré-fixos ou pós-fixos.
A notação: ++x ou --x pede para somar ou subtrair 1 a variável x imediatamente. Por exemplo:
int x = 0; cout << ++x; //Imprime 1 cout << ++x; //Imprime 2 cout << x; //Imprime 2
Já a notação x++ ou x-- faz a mesma coisa, porém a operação só acontece na linha após o comando:
int x = 0; cout << x++; //Imprime 0 cout << x++; //Imprime 1 cout << x; //Imprime 2
Cuidado que esse operador é um dos responsáveis por comportamentos indefinidos em C. Por exemplo, essa operação não tem comportamento definido:
x++ = x;
O resultado desse comando pode variar de compilador para compilador. Na dúvida, deixe sempre a expressão o mais clara possível, evitando coisas "criativas" como:
int y = ++x * 2 / x--;
Em resumo: x++, ++x, x--, e --x são formas curtas de se incrementar e decrementar uma variável x.
Fontes:
http://respostas.guj.com.br/28476-iniciante-em-linguagem-cc-o-que-significa-x-ou-x-ou-x---ou---x
https://www.sololearn.com/Discuss/160327/what-is-the-difference-between-x-x-x-and-x