• [^] # Re: Erreur de livre et experts C++

    Posté par . En réponse à la dépêche C++17 fixe l’ordre d’évaluation des expressions. Évalué à 4.

    Perso, je vois ça dans du code dans la boite où je bosse, [...]

    Je trouve aussi que l'exemple est assez mal choisi, on doit rarement rencontrer ce genre d'enfilades en C++.

    Par contre, je suis déjà tombé sur ce même problème, mais avec des stream, pour lesquelles enfiler des fonctions/entrées est l'usage:

    std::cout << obj.fy() << "\t" << obj.fx() << " -> " << obj.result() <<std::endl;

    Où les appels des premières méthodes affectent le résultat, qui sera donc différent selon l'ordre d'exécution.

    De mémoire MSVC évaluait de droite à gauche alors que GCC et CLang évaluaient de gauche à droite.