5213Fermer5215
Lionel DebrouxLe 22/03/2025 à 10:39
Nous sommes d'accord qu'Il y a un certain nombre de morceaux de la librairie standard C++ qui ne sont pas adaptés à l'embarqué très contraint, rien n'a changé sur ce point depuis longtemps. Mais c'est plutôt une caractéristique de la librairie standard C++ et de ses implémentations, qu'une caractéristique du langage lui-même.
A choisir entre C23 et C++23 pour produire du nouveau code sur plate-formes embarquées, je choisirais clairement C++23. La pléthore de features de C++ est de plus en plus énorme, c'est un fait, mais il n'y a pas grand chose qu'on soit obligés d'utiliser smile
Pour des raisons de réduction des bugs et/ou d'amélioration de l'efficacité du code généré, j'ai déjà utilisé des éléments de C++, pas forcément récents d'ailleurs, qui ne sont pas en C à ma connaissance: citons le typage plus strict, RAII (pour les locks, en particulier), constexpr normal (et maintenant consteval, if constexpr, if consteval, avec lesquels je n'ai pas eu l'occasion de jouer) pour déplacer des calculs et/ou des vérifications en temps de compilation, rvalue references / std::move et tout ce qui y est associé (efficacité), unique_ptr (réduction des bugs), un peu de métaprogrammation à base de type traits plus avancée que le _Generic de C ne le permet (efficacité du code généré). Et il y a des choses que je n'ai pas eu l'occasion d'utiliser mais qui peuvent être utilisées pour réduire les bugs dans certaines conditions, comme les concepts.