Depuis que C++ existe, le cœur des développeurs balance entre la famille printf et les flux, std::format devrait mettre tout le monde d’accord en proposant enfin une solution pratique, efficace, robuste et extensible.
Plusieurs langages intègrent en leur sein des capacités de formatage des chaînes de caractères. Le C propose la famille des fonctions printf pratique à utiliser, mais source de bugs avec des choses comme l’affichage de %s sur un entier ou des problèmes avec des chaînes sans \0 terminal. C++ a introduit les flux qui ont l’avantage bien d’être plus sûrs et extensibles, mais qui ont l’inconvénient d’être lourds à utiliser.
Afin d’essayer d’avoir le meilleur des 2 mondes, C++20 introduit une nouvelle librairie std::format directement inspirée de la librairie [{fmt}] de Victor Zverovich, elle-même inspirée des chaînes formatées de Python. Le processus de normalisation a permis de surcroît d’améliorer cette librairie.
Sachez que vous pouvez aussi utiliser cette librairie sur tous les compilateurs C++11 et même une version plus ancienne avec des compilateurs C++98.
À l’heure de l’écriture de cet article, cette librairie n’est disponible...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première