02.06.2013 Views

CORSO C++ STANDARD - Didattica.it

CORSO C++ STANDARD - Didattica.it

CORSO C++ STANDARD - Didattica.it

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

L'operatore può seguire (suffisso) o precedere (prefisso) l'operando. Nella<br />

forma prefisso l'incremento (o il decremento) viene esegu<strong>it</strong>o prima che la<br />

variabile sia utilizzata nell'espressione, nella forma suffisso avviene il contrario.<br />

Es: int a, b, c=5 ;<br />

a = c++;<br />

b = ++c;<br />

alla fine di queste operazioni si trovano, nella variabili a, b e c, rispettivamente i<br />

valori 5, 7 e 7.<br />

Da questo esempio si capisce anche che la forma incremento (o decremento)<br />

conviene non solo perché è più compatta, ma soprattutto perché consente di<br />

ridurre il numero di istruzioni.<br />

Operatore condizionale<br />

L'operatore condizionale é l'unico operatore ternario (tre operandi):<br />

condizione ? espressioneA : espressioneB<br />

(dove condizione é un'espressione logica) l'operazione<br />

rest<strong>it</strong>uisce il valore dell'espressioneA se la condizione e' true o<br />

il valore dell'espressioneB se la condizione e' false<br />

Es: minimo = a < b ? a : b ;<br />

L'operatore condizionale gode della rara proprietà di rest<strong>it</strong>uire un ammissibile<br />

l-value (non in tutti i compilatori, però!)<br />

Es. (m < n ? a : b) = c ;<br />

(memorizza il valore di c in a se m é minore di n, altrimenti memorizza il valore di<br />

c in b)<br />

in questo caso però a e b non possono essere né espressioni né costanti, ma<br />

soltanto l-values.<br />

Conversioni di tipo

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!