Qt 6.7 supporte C++20

Par:
fredericmazue

lun, 08/04/2024 - 11:49

Le projet Qt vient de publier la version 6.7 de cette fameuse librairie. Il s'agit d'une version riche au niveau des graphiques 2D, 3D et vectoriels. Ces nouveautés sont décrites dans la vidéo ci-dessous. Nous remarquons aussi que Qt 6.7 supporte C++20.

Qt et C++20

Le projet Qt fait remarquer que C++20  n'est pas exigé pour construire ou utiliser Qt. D'autant plus que C++20 reste optionnel et expérimental pour de nombreuses chaînes d'outils de compilateur. Toutefois il est désormais possible d'utiliser Qt avec C++20.

Pour les développeurs de Qt, Un ajout utile au langage C++20 est la comparaison à trois voies operator<=>(), également connue sous le nom d'opérateur « soucoupe ». Lors de l'implémentation de cet opérateur, les types doivent spécifier leur catégorie de classement. Dans Qt 6.7, les développeurs ont ajouté les classes Qt::{strong,weak,partial}_ordering comme implémentations compatibles avec C++17 des types std::*_ordering respectifs. Pour les auteurs de types, Qt 6.7 fournit des macros d'assistance qui peuvent être utilisées pour implémenter des opérateurs relationnels. Ces macros sont étendues dans le code C++20 et se ramènent (fallback) aux six opérateurs dans le code C++17.

Pour les développeurs de Qt, un autre ajout utile de C++20 est sdt:span. Ils l'utilisent eux-mêmes et ils otn souhaité le rendre disponible aux utilisateurs de Qt grâce à QSpan. En tant que représentation non propriétaire d'une séquence contiguë d'objets, un span est peu coûteux à construire et à passer par des appels de fonction, et avec QSpan il y a maintenant une implémentation C++17 de ce type.