Retourner au contenu associé (dépêche : C++17 fixe l’ordre d’évaluation des expressions)
Posté par David Marec le 02 décembre 2016 à 11:28. 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:
stream
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.
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
[^] # Re: Erreur de livre et experts C++
Posté par David Marec . En réponse à la dépêche C++17 fixe l’ordre d’évaluation des expressions. Évalué à 4.
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: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.