D fornece os operadores unários especiais ++ e -- para incrementar e decrementar ponteiros e inteiros. Esses operadores possuem o mesmo significado que em ANSI-C. Esses operadores só podem ser aplicados a variáveis, e podem ser aplicados antes ou depois do nome da variável. Se o operador aparecer antes do nome da variável, a variável será modificada primeiro e a expressão resultante será igual ao novo valor da variável. Por exemplo, as duas expressões seguintes produzem resultados idênticos:
x += 1; |
y = ++x; |
y = x; |
|
Se o operador aparecer depois do nome da variável, a variável será modificada depois que seu valor atual for retornado para ser usado na expressão. Por exemplo, as duas expressões seguintes produzem resultados idênticos:
y = x; |
y = x--; |
x -= 1; |
|
Você pode usar os operadores de incremento e de decremento para criar novas variáveis sem declará-las. Se uma declaração de variável for omitida e o operador de incremento ou de decremento for aplicado a uma variável, a variável será declarada implicitamente como tipo int64_t.
Os operadores de incremento e de decremento podem ser aplicados às variáveis de inteiro ou ponteiro. Quando aplicados a variáveis de inteiro, os operadores incrementam ou decrementam o valor correspondente por um. Quando aplicados às variáveis de ponteiro, os operadores incrementam ou decrementam o endereço de ponteiro pelo tamanho do tipo de dados referenciado pelo ponteiro. Os ponteiros e a aritmética de ponteiro em D são discutidos no Capítulo 5Ponteiros e matrizes.