Est-ce bien défini? Je crois que j'ai lu quelque part qu'il n'est pas garanti que l'affectation est exécutée avant la 2e condition. Il se peut que je me trompe ou que cela vaut seulement pour C.
Google ne m'a pas aidé à cela, c'est pourquoi je demande ici :)Affectation variable en 1ère condition et en utilisant la même variable en 2ème condition Bien définie?
2
A
Répondre
4
Avec & & et ||, il est garanti évaluer la première condition (y compris l'affectation) avant d'évaluer la deuxième condition.
Avec les bits & et, d'autre part, aucune de ces garanties n'est faite.
1
Il y a une réponse liée ici avec un certain nombre de bonnes références: Is short-circuiting logical operators mandated? And evaluation order?
Réponse courte si vous ne l'avez pas surchargé & & et || vous aurez une évaluation de court-circuit, qui va de gauche à droite. Jetez un oeil dans le lien.
Merci pour le lien, des trucs bien là-bas. Semble que j'ai mélangé && et || avec les bitwise, comme Eric a dit. – randooom