Si nous avons trois fonctions (foo, bar et baz) qui sont composées comme ça...
foo(bar(), baz())
La norme C++ garantit-elle que la barre sera évaluée avant Baz ?
Si nous avons trois fonctions (foo, bar et baz) qui sont composées comme ça...
foo(bar(), baz())
La norme C++ garantit-elle que la barre sera évaluée avant Baz ?
C++17 spécifie un ordre d'évaluation pour les opérateurs qui n'était pas spécifié jusqu'à C++17. Voir la question Quelles sont les garanties d'ordre d'évaluation introduites par C++17 ? Mais notez votre expression
foo(bar(), baz())
a encore un ordre d'évaluation non spécifié.
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.