Developpez.com - Rubrique C++

Le Club des Développeurs et IT Pro

Profitez-vous des fonctionnalités du C++20 ?

Partagez votre expérience et vos déboires avec le nouveau standard

Le 2022-06-17 16:22:11, par LittleWhite, Responsable 2D/3D/Jeux
Voilà, nous sommes déjà en 2022 et cela fait un peu plus d'un an que le C++20 a été standardisé. La nouvelle version est supportée dans les principaux compilateurs et, en théorie, nous y avons maintenant tous accès. Toutefois, la réalité peut être toute autre. En effet, plusieurs raisons peuvent nous empêcher d'activer le support du nouveau standard dans nos projets. Voici donc une petite discussion/sondage sur votre expérience avec le C++20. Utilisez-vous régulièrement les apports du C++20, ou au contraire, cette nouvelle version n'apporte pas ou peu de choses utiles pour vous, ou encore, plus simplement, vous n'avez pas eu la possibilité de l'activer sur vos projets ?

Ceux qui n'y ont pas accès peuvent aussi décrire ce qui les attirent à vouloir supporter le C++20 dans leur projet, ou à contrario, dire s'ils n'y trouvent aucun intérêt.

Pour rappel, le C++20 apporte (notamment):
  • les modules ;
  • les coroutines ;
  • l'opérateur de comparaison trilatérale («*spaceship operator*») ;
  • les concepts ;
  • les ranges ;

Il arrive qu'au début, ces nouvelles fonctionnalités soient compliquées à mettre en place. Une des raisons de cette difficulté est que ces fonctionnalités sont nouvelles, l'ensemble de l'équipe ne les appréhende peut-être pas encore et qu'il est difficile de voir comment celles-ci peuvent être bénéfiques.

Aussi, il est possible que le code sur lequel on travaille ne compile pas lors de l'activation du nouveau standard. Est-ce le genre de désagrément qui vous empêche d'utiliser le C++20 ?

Bref, aujourd'hui, racontez votre relation avec le C++20.
  Discussion forum
1 commentaire
  • Suryavarman
    Membre actif
    A cause de certaines de mes dépendances je ne peux pas pour le moment utiliser c++20. Je suis tout même content de pouvoir utiliser c++17.

    J'aurais bien aimer utiliser c++20 pour:
    - les concepts:
    La SFINAE*d'un Tuple n'est pas du tout simple :p (mais pas impossible).

    - source location:
    Les macros __PRETTY_FUNCTION__ et __FUNCSIG__ font un bon travail mais c'est vrais que l'utilisation de std::source_location::current() pourrait simplifier l'écriture.