operator
Főnév
operator (tsz. operators)
Lásd még
Operátorok a C++ nyelvben
A C++ operátorok olyan speciális szimbólumok vagy kulcsszavak, amelyek műveleteket végeznek változókon és értékeken. Az operátorokat több kategóriába sorolhatjuk, például aritmetikai, logikai, relációs és bitműveleti operátorok. Ebben a cikkben részletesen bemutatjuk a C++ operátorait.
1. Aritmetikai operátorok
Ezek az operátorok matematikai műveletek végrehajtására szolgálnak.
Operátor | Leírás | Példa (ha a = 10 , b = 3 )
|
Eredmény |
---|---|---|---|
+
|
Összeadás | a + b
|
13
|
-
|
Kivonás | a - b
|
7
|
*
|
Szorzás | a * b
|
30
|
/
|
Osztás | a / b (egész osztás)
|
3
|
%
|
Maradékos osztás | a % b
|
1
|
2. Összehasonlító (relációs) operátorok
Ezeket az operátorokat logikai kifejezésekben használjuk két érték összehasonlítására.
Operátor | Leírás | Példa (a = 10 , b = 3 )
|
Eredmény |
---|---|---|---|
==
|
Egyenlőség | a == b
|
false
|
!=
|
Nem egyenlő | a != b
|
true
|
<
|
Kisebb, mint | a < b
|
false
|
>
|
Nagyobb, mint | a > b
|
true
|
<=
|
Kisebb vagy egyenlő | a <= b
|
false
|
>=
|
Nagyobb vagy egyenlő | a >= b
|
true
|
3. Logikai operátorok
Ezek az operátorok logikai kifejezések kiértékelésére szolgálnak, és általában feltételek megadására használják őket.
Operátor | Leírás | Példa (a = 10 , b = 3 )
|
Eredmény | |
---|---|---|---|---|
&&
|
Logikai ÉS | (a > 5 && b < 5)
|
true
| |
||
|
Logikai VAGY | (a > 5 |
b > 5) | true
|
!
|
Logikai NEM | !(a > 5)
|
false
|
4. Hozzárendelő operátorok
Ezek az operátorok egy változóhoz értékeket rendelnek hozzá.
Operátor | Leírás | Példa (a = 10 )
|
Egyenértékű ezzel: |
---|---|---|---|
=
|
Hozzárendelés | a = 5
|
a = 5
|
+=
|
Összeadás és hozzárendelés | a += 2
|
a = a + 2
|
-=
|
Kivonás és hozzárendelés | a -= 2
|
a = a - 2
|
*=
|
Szorzás és hozzárendelés | a *= 2
|
a = a * 2
|
/=
|
Osztás és hozzárendelés | a /= 2
|
a = a / 2
|
%=
|
Maradékos osztás és hozzárendelés | a %= 2
|
a = a % 2
|
5. Inkrementáló és dekrementáló operátorok
Ezek az operátorok egy változó értékét növelik vagy csökkentik.
Operátor | Leírás | Példa (a = 5 )
|
Eredmény |
---|---|---|---|
++a
|
Pre-inkrementálás | int b = ++a;
|
a=6 , b=6
|
a++
|
Post-inkrementálás | int b = a++;
|
a=6 , b=5
|
--a
|
Pre-dekrementálás | int b = --a;
|
a=4 , b=4
|
a--
|
Post-dekrementálás | int b = a--;
|
a=4 , b=5
|
6. Bitműveleti operátorok
Ezek az operátorok bináris számokkal dolgoznak.
Operátor | Leírás | Példa (a = 5 , b = 3 )
|
Eredmény |
---|---|---|---|
&
|
Bitenkénti ÉS | a & b (0101 & 0011)
|
0001 (1)
|
|
|
Bitenkénti VAGY | b | 0111 (7)
|
^
|
Bitenkénti XOR | a ^ b
|
0110 (6)
|
~
|
Bitenkénti NEM | ~a
|
Fordított bitminta |
<<
|
Balra tolás | a << 1
|
1010 (10)
|
>>
|
Jobbra tolás | a >> 1
|
0010 (2)
|
7. Feltételes (háromoperandusos) operátor
A háromoperandusos operátor egy rövidített if-else.
int a = 10, b = 20;
int max = (a > b) ? a : b; // max = 20
Ez az operátor (feltétel) ? igaz_érték : hamis_érték
formában működik.
8. Típuskonverziós (cast) operátorok
Ezek az operátorok egy adatot egyik típusból a másikba alakítanak.
Operátor | Leírás | Példa |
---|---|---|
static_cast<type>
|
Fordított értéket adott típusra | int a = static_cast<int>(3.14);
|
reinterpret_cast<type>
|
Egy memóriacímet más típusra alakít | char* ptr = reinterpret_cast<char*>(&a);
|
const_cast<type>
|
Eltávolítja a const minősítőt
|
|
dynamic_cast<type>
|
OOP alapú konverzió |
9. Méret és cím operátorok
Operátor | Leírás | Példa |
---|---|---|
sizeof
|
Egy típus vagy változó mérete | sizeof(int)
|
&
|
Cím operátor | &a (változó címe)
|
*
|
Dereferálás | int* p = &a; int b = *p;
|
10. Speciális operátorok
Operátor | Leírás | Példa |
---|---|---|
,
|
Több kifejezés egy sorban | int a = (b = 3, b + 5);
|
->
|
Pointeres tagelérés | ptr->value;
|
.*
|
Tagmutató operátor | obj.*ptr;
|
Összegzés
A C++ operátorai segítenek hatékony és olvasható kódot írni. A megfelelő operátorok kiválasztása jelentősen befolyásolhatja a program teljesítményét és karbantarthatóságát.