Pendant que je parcourais cppreference, j'ai vu un tableau de type étrange dans des paramètres de fonction comme celui-ci:
void f(double x[volatile], const double y[volatile]);
Alors, à quoi sert le mot-clé volatile
qui apparaît dans un indice de tableau? Qu'est ce que ça fait?
Le mot clé volatile
est utilisé pour déclarer un type de tableau d'un paramètre de fonction.
Ici, double x[volatile]
est équivalent à double * volatile x
.
cppreference dit:
Dans une déclaration de fonction, le mot-clé
volatile
peut apparaître à l'intérieur des crochets utilisés pour déclarer un type de tableau d'un paramètre de fonction. Il qualifie le type de pointeur auquel le type de tableau est transformé. Les deux déclarations suivantes déclarent la même fonction:void f(double x[volatile], const double y[volatile]); void f(double * volatile x, const double * volatile y);
Cette syntaxe n'est valable qu'en langage C dans les paramètres de fonction.