İfadeler

İfade, tek bir değeri hesaplayan değişmezler, değişkenler, operatörler ve fonksiyon çağrılarının birleşimidir.

İfadeler, değerlendirildiklerinde tek bir değer üretirler.

Bir ifadeyi yürütme işlemine değerlendirme denir

Bir ifade değerlendirilirken, tek bir değer kalana kadar ifadenin içindeki terimlerin her biri değerlendirilir

C++ da ifadeler ve beyanlar çok karıştırılmaktadır. İfadeler beyanların yapı taşlarıdır.

int x;
 
int y = { 5 + 8 };

Yukarıdaki örnekte, int x bir ifadedir. sonuna ; eklediğimizde ise beyan olur. Aynı şekilde ikinci satırda ise, 5 + 8 bir ifadedir. int y = { 5 + 8 }; ise bir beyandır.

İfadeler kendi başlarına derlenemezler. Mecburi olarak bir beyanın parçası olmalıdırlar. Elbette bunun çözümü kolaydır. Herhangi bir ifadenin sonuna ; eklersek ifade beyanı yapmış oluruz.

Bu kurala dayanarak herhangi bir ifadeyi bir beyana çevirebiliriz. Ancak kullanışı olmayan ifadeleri beyana çevirirsek derleyiciler uyarı verebilirler. Örnek olarak aşağıdaki kod başarılı olarak derlenecektir. Ancak hesaplanan değer hiçbir işe yaramayıp atılacaktır.

(5 + 8);

İfadelerin derleyici tarafından nasıl değerlendirilmesi gerektiğini ve nerede kullanılabileceklerini belirlemeye yardımcı olmak için;

C++'daki tüm ifadelerin iki özelliği vardır: bir tip ve bir değer kategorisi.

İfadenin tipi, ifade değerlendirildikten sonra elde kalan tiptir. Örnek olarak aşağıdaki kodu inceleyiniz.

auto v1 { 12 / 4 }; // int / int => int sonuç döndüreceğinden ifadenin tipi int'dir.
auto v2 { 12.0 / 4 }; // double / int => double sonuç döndüreceğinden ifadenin tipi double'dır.

İfadelerin değer kategorileri tipten biraz daha karışıktır. İlgili sayfaya göz atabilirsiniz.


UCH Viki'den alınmıştır. https://wiki.ulascemh.com/doku.php?id=tr:cs:cpp:common:expression