Au-delà du langage, la librairie standard évolue. Certains gros sujets sont traités dans des articles séparés, ici nous allons aborder les autres sujets, qui n'en sont pas moins intéressants.
1. Évolutions gestion du temps et calendriers
C++ 11 a introduit une gestion du temps à travers la librairie <chrono>, mais elle était assez incomplète. C++20 la complète de façon assez significative. Howard E. Hinnant qui est un des artisans de cette évolution propose une librairie compatible avec les versions C++11 à C++17 [github_date].
1.1 Horloges, points temporels et durées
Depuis C++11, une horloge est une classe qui définit des caractéristiques de mesure du temps à l’aide d’une valeur period définissant la granularité en ticks par rapport à la seconde via le type std::ratio, et d’un type rep utilisé pour stocker les valeurs, ce qui revient à définir l’étendue des valeurs possibles. Une horloge est aussi caractérisée par le fait qu’elle à un temps d’origine que l’on appelle epoch, qu’elle gère le temps de façon monotone ou pas is_steady, et qu’elle gère les leap seconds ou pas.
L’horloge d’usage général est
- 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