J'ai trouvé le code ci-dessous et je ne comprends pas ce qu'il signifie :
res>?=m[2];
Voici le code de l'endroit où je l'ai trouvé et son contexte.
vector<int> m(3);
int s = 0;
... do stuff with m ...
res>?=m[2];
return res;
J'ai trouvé le code ci-dessous et je ne comprends pas ce qu'il signifie :
res>?=m[2];
Voici le code de l'endroit où je l'ai trouvé et son contexte.
vector<int> m(3);
int s = 0;
... do stuff with m ...
res>?=m[2];
return res;
C'est une ancienne extension de GCC.
L'équivalent de a >?= b
est a = max(a,b);
Vous pouvez consulter Opérateurs minimum et maximum en C++
Il est très pratique d'avoir des opérateurs qui renvoient le "minimum" ou le "maximum" de deux arguments. le "maximum" de deux arguments. Dans GNU C++ (mais pas dans GNU C),
a <? b
est le minimum, renvoyant la plus petite des valeurs numériques a et b ;
a > ? b
est le maximum, renvoyant la plus grande des valeurs numériques a et b.
A propos :-
Ces opérateurs sont non standard et sont déprécié dans GCC . Vous devez utiliser std::min y std::max à la place.
Ce n'est certainement pas du C++ standard. Je peux devinez qui est un raccourci pour l'opérateur d'affectation + ternaire, similaire à l'opérateur d'affectation + binaire, tel que operator+=
et autres :
res = (res > m[2]) ? res : m[2];
Vous pouvez lire le rapport ici : Extensions du langage C++ :
a <? b
is the minimum, returning the smaller of the numeric values a and b;
a >? b
is the maximum, returning the larger of the numeric values a and b.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.