Que veut dire

int a = 120 > b ? 1 : -1;

J'initialise une variable int nommée a qui va valoir ? si 120 est plus grand que b Sinon a vaudra ?

Jamais vu ce genre de syntaxe ... un tuto ?

Cf -> openclassroom

fr: int a = 120 > b ? 1 : -1;

equivalent à

if (120>b){
     a=1;
}else{
     a=-1;
}

D'ailleurs est ce que ça change quelque chose en terme de perf/utilisation memoire ?

A priori cela ne change rien.
C’est juste une écriture plus compact

bonjour,
j’aurai appris quelque chose avec ca.
ca simplifie vachement le code en plus et je vais m’en resservir plus souvent.
merci de la question et des réponses :wink:

Bonsoir, C'est l'exemple typique de construction syntaxique qui peut être pratique, mais dont il ne faut pas abuser, comme les ++i ou les affectations à plusieurs étages.

C'est utile quand c'est compact et lisible, et nécessaire pour définir des #define dans lesquels on peut difficilement mettre des constructions complètes. Mais c'est complètement incompréhensible dès que c'est à rallonge ou imbriqué, et ça n'apporte rien en performances ou en empreinte mémoire. Pour s'en convaincre, il suffit de mettre les 2 constructions dans un programme, et de regarder l'assembleur généré : c'est bien souvent le même.