Gli operatori C++ in sintesi: i principali operatori

Gli operatori C++ sono le basi di un’efficiente programmazione in C++ e sono importanti sia per chi desidera imparare a programmare in C++ sia per chi è già esperto di questo linguaggio di programmazione. Il significato di alcuni operatori è facilmente intuibile, mentre in altri casi potrebbe non essere chiaro a prima vista.

Che cosa sono gli operatori C++?

In linea di massima, un operatore è semplicemente il simbolo di un’operazione che può fare riferimento a un singolo operando o, solitamente, a più operandi. Nella maggior parte dei casi, come risultato ottenete un nuovo valore. Un tipico esempio sono gli operatori aritmetici che avete imparato a scuola, come “+” per l’addizione e “-” per la sottrazione di due numeri. Gli operatori C++ non si differenziano solo in base al loro scopo funzionale, ma un ulteriore importante criterio di distinzione è l’arietà o rango degli operatori:

Arietà Numero di operandi Esempio
Operatori unari Un operando Negazione logica: !var_name
Operatori binari Due operandi Addizione: value1 + value2
Operatori ternari Tre operandi Condizione if-else: condition? <br>condition_true : condition_false

Priorità dell’operatore

Come per gli operatori aritmetici imparati a scuola o gli operatori Python, anche per quelli C++ esistono priorità o precedenze, utilizzate per indicare in quale ordine devono essere applicati gli operatori. Per gli operatori aritmetici valgono le ben note regole per l’ordine delle operazioni, riassumibili in “prima i puntini, poi i trattini”, ma anche con altri operatori C++ è necessario seguire regole ben precise.

if (var1 && var2 || var3) {
    do_something();
}
cpp

Nell’esempio qui sopra, viene applicata per prima l’espressione logica dopo l’operatore “if”. Qui, inoltre, l’operatore && (AND logico) ha la precedenza sull’operatore || (OR logico). Quindi, se la valutazione di “var1 && var2” o la valutazione di “var3” restituisce il valore “true”, viene eseguita la chiamata alla funzione “do_something”.

Se volete andare sul sicuro, potete anche usare le parentesi.

Sovraccarico di operatori in C++

Per la maggior parte degli operatori C++ potete usare il cosiddetto sovraccarico, ossia potete attribuire a un operatore già presente un nuovo significato in un dato contesto. Per eseguire il sovraccarico degli operatori in C++ dovete utilizzare la parola chiave “operatore”, che dovete inserire dopo l’operatore C++ che desiderate sovraccaricare. Per il resto, il sovraccarico degli operatori in C++ funziona come il sovraccarico di funzioni.

Consiglio

Lo spazio web acquistabile su IONOS è l’ideale per mettere i vostri progetti in C++ al sicuro online. Avrete anche a disposizione un grande spazio di memoria disponibile e una comoda installazione in un clic.

Gli operatori C++ più importanti

Operatori aritmetici

Già a scuola avete imparato alcuni degli operatori aritmetici di C++: sono utilizzati per fare operazioni coi numeri e danno un nuovo numero come risultato. A parte due eccezioni (il “più” unario e il “meno” unario, che potete considerare come segni), gli operatori aritmetici sono tutti operatori binari.

Operatore C++ Significato Esempio
+ Addizione/“più” unario 6 + 4
- Sottrazione/“meno” unario 10 - 6
* Moltiplicazione 10* 3
/ Divisione fra numeri interi 20 / 10
% Modulo 21 % 2

Operatori di assegnazione

In C++, come nella maggior parte dei linguaggi di programmazione, i valori sono memorizzati all’interno di variabili. Per assegnare dei valori concreti a tali variabili, sono necessari degli operatori speciali.

Operatori di assegnazione semplici

Operatore C++ Significato Esempio
= Assegnazione semplice x = 3
++ Incremento x++
-- Decremento x--

Operatori di assegnazione combinati

Oltre agli operatori di assegnazione semplici, C++ supporta anche gli operatori combinati. Si tratta di operazioni aritmetiche o bit per bit che vengono associate contemporaneamente a un’assegnazione di valore:

int x = 4;
x += 2;
cpp

Nell’esempio di codice precedente, un’assegnazione semplice assegna il valore numerico 4 alla variabile x. Successivamente, viene utilizzato l’operatore di assegnazione combinato “=” per eseguire un’addizione aritmetica e memorizzare il valore risultante direttamente in x. Per esteso, l’assegnazione si presenterebbe in questo modo: “x=x2”.

Operatore C++ Significato Esempio
+= Addizione e assegnazione x += 2
-= Sottrazione e assegnazione x -= 2
*= Moltiplicazione e assegnazione x* = 2
/= Divisione e assegnazione x /= 2
%= Modulo e assegnazione x %= 2
&= AND bit per bit e assegnazione b &= 1
<<= Spostamento bit a sinistra e assegnazione b <<= 1
>>= Spostamento bit a destra e assegnazione b >>= 1
^= XOR bit per bit e assegnazione b ^= 1
` =` OR bit per bit e assegnazione

Operatori logici C++

È possibile utilizzare gli operatori logici C++ per confronti di logica proposizionale tra due espressioni. A eccezione del NOT logico, che si riferisce sempre a un’affermazione e ne nega il valore logico, gli operatori logici sono binari.

Operatore C++ Significato Esempio
&& AND logico true && true
` `
! NOT logico !true

Operatori di confronto

Gli operatori di confronto sono operatori C++ che analizzano la relazione tra due elementi. Sono quindi operatori binari. A eccezione del confronto a tre vie, che restituisce un numero, il valore restituito da tutti gli operatori di confronto in C++ è un valore logico.

Operatore C++ Significato Esempio
== Uguaglianza a == b
!= Disuguaglianza a != b
<= Minore o uguale a <= b
>= Maggiore o uguale a >= b
< Minore a < b
> Maggiore a > b
<=> Confronto a tre vie a <=> b

Manipolazione di bit

Esistono operatori C++ bit per bit che permettono di accedere ai singoli bit in modo efficiente al fine di aumentare la velocità dei programmi. Questi operatori sono particolarmente importanti per la programmazione orientata alle prestazioni.

Operatore C++ Significato Esempio
& AND bit per bit a & b
` ` OR bit per bit
^ XOR bit per bit a ^ b
~ Negazione bit per bit ~a
<< Spostamento verso sinistra a << b
>> Spostamento verso destra a >> b

Gestione della memoria

C++ è un linguaggio macchina e per questo motivo mette a disposizione una serie di operatori che aiutano nella gestione della memoria.

Operatore C++ Significato Esempio
& Determinazione dell’indirizzo &x
sizeof() Determina il fabbisogno di memoria di un’espressione sizeof(x)
new Crea un nuovo oggetto e restituisce i puntatori object* pointer = new object()
delete Elimina un oggetto delete object

Accesso ai dati per oggetti e puntatori

Per accedere a singoli membri di oggetti o alle aree di memoria dei puntatori potete utilizzare i seguenti operatori C++.

Operatore C++ Significato Esempio
* Dereferenziazione dei puntatori, restituisce l’area di memoria *pointer = 3;
. Accesso ai membri di un oggetto object.member = 2;
-> Accesso ai membri di un oggetto con un puntatore objectpointer->member = 2;
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.