Operatörler

[vc_row][vc_column][vc_column_text]

Operatörler çeşitli matematik işlemleri, sadece matematik işlemleri olmamakla birlikte, işlemler yapan semboller ve bazı anahtar kelimelerdir.

Operatörler farklı önceliklere sahiptir. Buna göre bir ifade içerisinde yer alan farklı operatörlerin işlemleri işlem önceliğine göre sırayla yapılır.

Operatörler işleme girecek madde sayısı bakımından ve hangi yöne doğru işleneceğine göre birbirinden ayrılabilir. Bazı operatörler bir nesne ile etkileşime girerken bazı operatörler iki nesne ile etkileşime girer. Aynı operatör hem tek hem de iki nesne ile etkileşime girerek farklı işlemler gerçekleştirebilir. Örneğin:

int m = -5; // Negatif sayi
int a = 9 - 3; // Cikarma islemi

Atama Operatörleri

Bir değişkene aritmetik ifade atamak için kullanılan operatörlerdir.

Operatör

Açıklama

örnek

Sonuç

=

Atama

x = 4

x = 4

+=

Ekleyerek Atama

x += 2

x = x+2

-=

Çıkartarak Atama

x -= 5

x = x-5

*=

Çarparak Atama

x *= 6

x = x*6

/=

Bölerek Atama

x /= 8

x = x/8

%=

Bölüp, Kalanını Atama

x %= 3

x = x%3

Operatörler değişkenler üzerinde matematiksel ve karşılaştırma işlemleri yapar.

Aritmetik Operatörler

Temel aritmetik işlemleri gerçekleştiren operatörlerdir.

Operatör

Açıklama

Örnek

Sonuç

+

Toplama

13+6

19

Çıkarma

21-1

20

*

Çarpma

8*2

16

/

Bölme

36/4

9

%

Mod

22%3

1

Karşılaştırma Operatörleri

Sayısal değerleri veya karakterleri karşılaştırmak için kullanılan operatörlerdir.

Operatör

Açıklama

Örnek

Anlamı

>

Büyüktür

x > y

x, y’den büyük mü?

<

Küçüktür

x < y

x, y’den küçük mü?

==

Eşittir

x == y

x, y’ye eşit mi?

>=

Büyük Eşittir

x >= y

x, y’den büyük yada eşit mi?

<=

Küçük Eşittir

x ⇐ y

x, y’den küçük yada eşit mi?

!=

Eşit Değildir

x != y

x, y’ye eşit değilse

Mantıksal Operatörler

Birden fazla karşılaştırma işlemi, Mantıksal Operatörler’le birleştirilerek kullanılabilir.

Operatör

Açıklama

Örnek

Anlamı

&&

VE

x>2 && x<y

x, 2 den büyük VE y den küçük mü?

||

VEYA

x>2 || x<y

x, 2 den büyük VEYA y den küçük mü?

!

DEĞİL

!(x>2)

x, 2 den büyük değilse

Virgül Operatörü

Virgül operatörü (,), yalnızca bir ifadenin beklendiği yerlerde bulunan iki veya daha fazla ifadeyi ayırmak için kullanılır. İfadeler dizisi bir değer için değerlendirildiğinde, yalnızca en sağdaki ifade düşünülür.

a=(b=3,b+2);

 

Önce b değişkenine 3 degerini atar ve sonra a ya b+2 değişkenini atar. Yani, sonunda,a 5 değerini alır, b 3 üç değerini alır.

Bit Düzeyinde Operatörler

Operatör

Assembly Karşılığı

Açıklama

&

AND

AND işlemi

|

OR

OR işemi

^

XOR

XOR işlemi

~

NOT

Değil Operatörü

<<

SHL

Sola kaydırma

>>

SHR

Sağa kaydırma

Örneğin;

#include <iostream>

main() { 
   unsigned int a = 60; // 60 = 0011 1100 
   unsigned int b = 13; // 13 = 0000 1101 int c = 0;

   c = a & b;             // 12 = 0000 1100
   std::cout << "c: a&b (AND): " << c << std::endl ;
   c = a | b;             // 61 = 0011 1101
   std::cout << "c: a|b: (OR) " << c << std::endl ;
   c = a ^ b;             // 49 = 0011 0001
   std::cout << "c:a^b (XOR): " << c << std::endl ;
   c = ~a;                // -61 = 1100 0011
   std::cout << "c:~a (NOT) " << c << std::endl ;
   c = a << 2;            // 240 = 1111 0000
   //a'yı 2 bit sola kaydırıp c'ye atar
   std::cout << "c:a<<2  " << c << std::endl ;
   c = a >> 2;            // 15 = 0000 1111
   //a'yı 2 bit sağa kaydırıp c'ye atar.
   std::cout << "c:a>>2 " << c << std::endl ;
   return 0;
}

Kapsam Çözümleme Operatör

Operatörün sembolü “::” dir.
Operatör başka bir kapsam içerisindeki bir değişkene ya da fonksiyona erişilmesini sağlar. Eğer evrensel kapsamdaki bir değişkene erişmek istiyorsak da bu operatörü kullanabiliriz.
Örneğin:
 
#include <iostream>
using namespace std;
int x{5};
int main() { 
    int x{10};
    cout << x << endl;   // Ekrana 10 yazdirir.
    cout << ::x << endl; // Ekrana 5 yazdirir.
    return 0;
}

Kapsam çözünürlük operatörü ile farklı ad uzaylarındaki ifadelere ulaşılabilir. Aynı zamanda sınıfların içerisinde tanımlanmış static ifadelere de kapsam çözünürlük operatörü ile ulaşılır. Örneğin std ad uzayından nesneleri kullanmak için kapsam çözünürlük operatörü kullanılır.

 
namespace foo { 
     int x; 
}

int main() { 
    std::cout << "foo = "; // std ad uzayindan cout nesnesi cagirilir. 
    foo::x = 6; //olusturdugumuz foo ad uzayindan x nesnesi cagirilir.
    std::cout << x << std::endl;
    return 0;
}

Diğer Operatörler

Operatör

Tanım

sizeof

Değişkenin kapladığı alanı döndürür. Örneğin, sizeof(a), a int bir değer ise 4 döndürür

Durum ? X : Y

Eğer durum doğru ise X değeri yanlış ise Y değeri döner

. (nokta) ve -> (ok işareti)

Sınıf, struct ve unionlardaki elemanları göstermek için kullanılır

&

Değişkenin adresini döndürür. Örneğin &a; a değişkeninin gerçek adresini verir.

*

Değişkenin işaretçisidir. Örneğin *a; a değişkeninin işaretçisidir.

[/vc_column_text][/vc_column][/vc_row][vc_row][vc_column width=”1/2″][vc_btn title=”Önceki Ders” color=”green” align=”left” i_icon_fontawesome=”fa fa-chevron-left” add_icon=”true” link=”url:https%3A%2F%2Fyapbenzet.org.tr%2Fcpp-karmasik-veri-turleri%2F|||”][/vc_column][vc_column width=”1/2″][vc_btn title=”Sonraki Ders” color=”green” align=”right” i_align=”right” i_icon_fontawesome=”fa fa-chevron-right” add_icon=”true” link=”url:https%3A%2F%2Fyapbenzet.org.tr%2Fcpp-karar-bildirimleri%2F|||”][/vc_column][/vc_row]