Lien [devlog] Decoupling input bindings from game systems with C++/SDL
Lien All C++20 core language features with examples — les nouveautés langage de C++20 avec exemples
Journal Des nouvelles de boost
Bonjour Nal,
Je ne fais plus de C++ depuis longtemps, mais je regarde parfois l'actualité de ce langage.
Sa meilleure bibliothèque est sortie en version 1.75 depuis et propose des nouveautés intéressantes:
Tout d'abord un parseur JSON vraiment simple:
auto george = boost::json::parse( R"( { message: "Monde de merde" } )" );
std::cout << george["message"] << std::endl;
Ensuite un gestionnaire d'erreur qui ressemble un peu à ce que fait Go avec des valeurs de retours multiples.
D'autres libs plus (…)
Journal Un tap tempo en ligne de commande
Bonjour à tous,
j'aimerai vous présenter mon dernier petit projet : TapTempo.
C'est un détecteur de tempo en ligne de commande. L'utilisateur frappe une touche en cadence régulière et le programme en déduit le tempo correspondant. Il est affiché en nombre de battements équivalent par minute (ou BPM en anglais).
La plupart des logiciels audio-numériques ainsi que beaucoup de d'instruments électroniques ont cette fonctionnalité, mais ça me rebutait de lancer un gros logiciel ou de me déplacer vers mon (…)
C++17 fixe l’ordre d’évaluation des expressions
Le C++ est un langage bien présent et depuis longtemps dans les logiciels libres (environnements de bureau, outils bureautiques, navigateurs Web…). L’an 2017 approche à grands pas avec la promesse d’un tout nouveau C++17.
Pour finir l’année, voici le calendrier de l’Avent du C++ avec des dépêches pédagogiques sur ce qui nous attend en 2017. Après deux dépêches de mise‐en‐bouche, nous entrons enfin dans le vif du sujet avec deux spécifications techniques concernant l’ordre d’évaluation des expressions. Allez, c’est parti ! ᕕ(ᐛ)ᕗ
C++17, Genèse d’une version mineure
La série de dépêches C++ continue. Cette seconde dépêche nous amène dans les réunions du comité de standardisation en vue de publier la prochaine version C++17 et nous permettra de vérifier ce titre provocateur (comment ça mineure ?). Cette dépêche peut intéresser tous les lecteurs de LinuxFr.org, pas seulement les développeurs. Les prochaines dépêches seront plus techniques.
Journal Gestion de l'erreur - C++ - std::optional
Introduction
Ce journal discute de la gestion d'erreur lors des appels de fonction. Dans la première partie, nous discuterons plusieurs solutions de gestion d'erreur classiques rencontrée dans de nombreux languages comme C, C++, Python, etc. Dans la seconde partie, nous présenterons std::optional<T>
, une nouvelle classe de la librairie standard C++17 et nous discuterons comment celle-ci change la gestion d'erreur. Pour finir je donnerai un avis personnel sur l'API de cette classe que je n'aime pas, et je proposerai une (…)
Journal Switch, chaîne constante et c++
Salut 'Nal (ah non, ça marche pas)
Lors d'une discussion avec un collègue, ça chambrait 1 gentillement sur l'absence de switch sur des chaînes constantes en C++. Ça a déclenché quelques recherches de mon côté, et voilà ce que j'ai pu trouver (les codes qui suivent ne sont que le reflet de ce que j'ai pu lire en ligne, rien de nouveau sous le soleil brestois)
Approche LLVM : StringSwitch
Source : http://llvm.org/docs/doxygen/html/StringSwitch_8h_source.html
L'idée est de simuler une cascade de
(…)Les coulisses du standard C++
Le C++ a bientôt la quarantaine et pourtant très actif en ce moment avec la finalisation de la prochaine version C++17. Profitons‐en pour faire le point avec une série d’articles sur le C++. Cette première dépêche nous dévoile la face cachée du C++, et donc peut intéresser tous les lecteurs LinuxFr.org. :-)
Journal [C++14 ] Expressions template pour les nuls
Expression Templates pour les nuls
Après un contact prolongé avec Joël Falcou, et pas mal de nœuds aux cerveaux pour arriver à émuler le comportement du broadcasting de Numpy avec des expression templates dans Pythran, j'ai eu l'envie soudaine, un peu folle peut-être, de réécrire un moteur d'expressions template en C++14, mais pour faire simple et didactique.
Mais de quoi zy parle
Les expressions templates sont une maintenant assez vieille technique de C++ qui permet par exemple d'éviter de (…)
Journal C++ Core Guidelines
En ce moment a lieu la conférence CPPCon qui regroupe la crème des acteurs du C++ et de son comité de normalisation. Au cours de cette conférence, Herb Sutter (le responsable du comité de normalisation, travaillant à Microsoft) et Bjarne Stroustrup (inventeur du C++) ont donné deux exposés sur la manière de bien écrire du C++.
Ils en ont profité pour dévoiler un guide des règles de bonne conduite pour C++ accompagné d'une bibliothèque, GSL (Guideline Support Library) permettant (…)
Journal Gestionnaire de dépendances en C++
Le problème de la gestion des dépendances en C++ serait-il en passe d'être pris suffisamment au sérieux ? On en a parlé il y a quelques temps, à propos de biicode, un gestionnaire de dépendance qui a l'inconvénient de ne pas être libre. Mais on risque de voir le paysage bouger.
Au programme de la prochaine conférence C++Now, qui aura lieu mi-mai à Aspen (Colorado), pas moins de 4 présentations sur le sujet ou approchant. On retrouve évidemment le sus-nommé (…)
Journal Votre potager a (encore) besoin de Tomate
Je vous parlais l'année dernière de Tomate, un logiciel pour planifier et suivre les cultures au potager.
Le code source est disponible ici: https://github.com/MickaelG/tomate_cpp
Pas de révolution pour cette année, mais pas mal de corrections de bogues, un changement de l'organisation de l'écran, et surtout la possibilité de placer chaque culture dynamiquement dans la planche, au lieu des subdivisions fixes de la première version.
Pour le futur:
- Une version Windows
- La possibilité de spécifier les positions des cultures graphiquement au (…)
Journal CPP Con sur Youtube
Les vidéos prises lors de la CPP Con 2014, LA conférence C++ de l'année, à Bellevue WA, commencent à arriver sur Youtube.
Parmi mes préférées, la présentation de l'équipe Microsoft Office sur leur approche pour partager autant de code que possible pour tourner sous Windows 32 et 64 bits, MacOSX, iOS, Android, WinRT, et peut-être un jour iWatch, était tout à fait intéressant. Bon, et manifestement, le support de GNU/Linux n'est pas sur leur feuille de route.
D'autres présentations, par (…)