Aracılığıyla paylaş


Virgül İşleci: ,

Bir deyim beklenirken iki deyimin gruplandırılmasını sağlar.

Sözdizimi

expression , expression

Açıklamalar

Virgül işleci soldan sağa ilişkilendirmeye sahiptir. Virgülle ayrılmış iki ifade, soldan sağa doğru değerlendirilir. Sol işlenen her zaman değerlendirilir ve tüm yan etkileri sağ işlenen değerlendirilmeden önce tamamlanır.

Virgüller, işlev bağımsız değişken listeleri gibi bazı bağlamlarda ayırıcılar olarak kullanılabilir. Ayırıcı olarak virgül kullanımını işleç olarak kullanımıyla karıştırmayın; iki kullanım birbirinden tamamen farklıdır.

e1, e2 ifadesini göz önünde bulundurun. İfadenin türü ve değeri e2'nin türü ve değeridir; e1'in değerlendirilmesinin sonucu atılır. Sağ işlenen l değeriyse, sonuç bir l değeri olur.

Virgülün normalde bir ayırıcı olarak kullanıldığı yerlerde (örneğin, işlevlerin veya toplama başlatıcılarının gerçek bağımsız değişkenlerinde), virgül işleci ve işlenenleri parantez içine alınmalıdır. Örneğin:

func_one( x, y + 2, z );
func_two( (x--, y + 2), z );

Yukarıdaki func_one işlev çağrısında, virgülle ayrılmış üç bağımsız değişken geçirilir: x, y + 2 ve z. func_two işlev çağrısında, parantezler derleyiciyi, ilk virgülü sıralı değerlendirme işleci olarak yorumlamaya zorlar. Bu işlev çağrısı, func_two öğesine iki bağımsız değişken geçirir. İlk bağımsız değişken, (x--, y + 2) ifadesinin değerine ve türüne sahip olan y + 2 sıralı değerlendirme işleminin sonucudur; ikinci bağımsız değişken ise z'dir.

Örnek

// cpp_comma_operator.cpp
#include <stdio.h>
int main () {
   int i = 10, b = 20, c= 30;
   i = b, c;
   printf("%i\n", i);

   i = (b, c);
   printf("%i\n", i);
}
20
30

Ayrıca bkz.

İkili İşleçli İfadeler
C++ Yerleşik İşleçler, Öncelik ve İlişkisellik
Sıralı Değerlendirme İşleci