El not no es el único operador de bits que
toma sólo un argumento. Su compañero, el
not lógico (!
), toma un valor
true
y produce un valor
false
. El menos unario (-
) y
el más unario (+
) son los mismos operadores que los
binarios menos y más; el compilador deduce que uso se le
pretende dar por el modo en el que se escribe la expresión. De
hecho, la sentencia:
x = -a;
tiene un significado obvio. El compilador puede deducir:
x = a * -b;
pero el lector se puede confundir, de modo que es más seguro escribir:
x = a * (-b);
El menos unario produce el valor negativo. El más unario ofrece simetría con el menos unario, aunque en realidad no hace nada.
Los operadores de incremento y decremento (++
y
--
) se comentaron ya en este capítulo. Son los
únicos operadores, además de los que involucran asignación, que
tienen efectos colaterales. Estos operadores incrementan o
decrementan la variable en una unidad, aunque
«unidad» puede tener diferentes significados
dependiendo del tipo de dato - esto es especialmente importante en
el caso de los punteros.
Los últimos operadores unarios son dirección-de
(&
), indirección (*
y
->
), los operadores de moldeado en C y C++, y
new
y delete
en C++. La dirección-de y
la indirección se utilizan con los punteros, descriptos en este
capítulo. El moldeado se describe mas adelante en este capítulo,
y new
y delete
se introducen en el
Capítulo 4.