Opérateur de virgule C ++

Le but de l'opérateur virgule est d'enchaîner plusieurs expressions. La valeur d'une liste d'expressions séparées par des virgules est la valeur de l'expression la plus à droite. Essentiellement, l'effet de la virgule est de provoquer l'exécution d'une séquence d'opérations.

Les valeurs des autres expressions seront ignorées. Cela signifie que l'expression sur le côté droit deviendra la valeur de l'expression entière séparée par des virgules. Par exemple -

var = (count = 19, incr = 10, count+1);

Ici, attribue d'abord à count la valeur 19, attribue incr la valeur 10, puis ajoute 1 à count, et enfin, attribue à var la valeur de l'expression la plus à droite, count + 1, qui est 20. Les parenthèses sont nécessaires car l'opérateur virgule a un priorité inférieure à celle de l'opérateur d'affectation.

Pour voir les effets de l'opérateur virgule, essayez d'exécuter le programme suivant -

#include <iostream>
using namespace std;

int main() {
   int i, j;
   
   j = 10;
   i = (j++, j+100, 999+j);

   cout << i;
   
   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

1010

Voici la procédure de calcul de la valeur de i: j commence par la valeur 10. j est ensuite incrémenté à 11. Ensuite, j est ajouté à 100. Enfin, j (contenant toujours 11) est ajouté à 999, ce qui donne le résultat 1010.