Quick-bench [Gautier Bureau (RTE)]
mercredi 4 avril 2018
« Site qui utilise la librairie de Google Benchmark qui permet de benchmarker rapidement des fonctions.  »
Compiler explorer [Gautier Bureau (RTE)]
mercredi 4 avril 2018
« Permet de regarder la sortie d'un compilateur en direct et voir un peu les optimisations faites. J'ai découvert ce lien en regardant une keynote de la cppcon2017.  »
[c++]
mercredi 28 mars 2018
« Dans ce post de blog, l'auteur nous montre comment jouer avec les range boost avec des exemples bien trouvés, et comment ils se sont intelligemment inspirés du langage Python. Ils ne seront malheureusement pas intégrés dans le C++17, puisqu'ils ont d'abord besoin de la notion de concept  »
mercredi 21 mars 2018
« Une illustration sur un programme très simple de l'évolution du C++ 98 au C++ 17: la version C++ 98 est simple mais peu robuste, en C++03 c'est plus sécurisé mais beaucoup plus intimidant et les versions suivantes permettent de regagner en clarté tout en conservant la robustesse (et en gagnant en efficacité avec constexpr). Cet article m'a permis également de découvrir l'existence de l'opérateur "".  »
[c++]
Github: Catch2 [Sébastien]
mercredi 7 mars 2018
« Catch2 est une librarie header-only pour écrire des tests unitaires très faciles à déployer et utiliser, découverte sur un fil Reddit. Un bémol cependant: elle ne gère pas encore le cas CHECK_ABORT.  »
lundi 12 février 2018
« Cet article décrit l'utilité des revues de code, et conseille vivement l'utilisation (voire l'achat) d'un bon analyseur statique de code. Le site en lui même contient plein de bonnes ressouces.  »
Fortify source [Vincent]
mercredi 31 janvier 2018
« Récemment, j'ai eu un bug (buffer overflow) qui m'a été remonté grâce à l'option FORTIFY_SOURCE qui est maintenant activée par défaut sur Ubuntu et Fedora. Ce blog explique les grandes de son fonctionnement.  »
mercredi 24 janvier 2018
« Illustration d'un comportement dangereux du C++: comment un attribut pointeur peut casser l'encapsulation. Deux solutions sont proposées: l'une qui peut être déployée même avant le C++ 11 mais requiert un peu de discipline (emploi systématique d'accesseurs) et une nouvelle plus sécurisée qui sera introduite normalement dans le C++ 20 mais est déjà disponible pour clang et gcc dans le namespace experimental.  »
Unit tests [Vincent]
mercredi 24 janvier 2018
« Des exemples de bonnes pratiques pour faire des tests unitaires en C++ avec CppUnit.  »
mercredi 17 janvier 2018
« L'auteur de cet excellent blog nous montre comment séparer des chaînes de caractères en C++ en utilisant la librairie standard, avec Boost et avec le futur C++20.  »
[c++]
mercredi 29 novembre 2017
« Un blog qui détaille un projet pour faire du C++ dans les notebooks de Jupyter. Les fonctionnalités commencent à être vraiment intéressantes et je vous encourage donc à lire ce blog sur la question. Le packaging conda est en cours et vous devriez pouvoir facilement installer tous ces paquets dans les prochaines semaines.  »
C++17 features [Sébastien]
mercredi 22 novembre 2017
« Ce post de blog décrit les nouvelles features du C++ 17, ainsi que les versions des compilateurs qui les supportent. Il propose aussi une série d'articles plus détaillés qui commencent ici.  »
[c++]
Xtensor [Sébastien]
mercredi 8 novembre 2017
«  Une librairie C++ pour la manipulation de tableaux multidimensionnels, avec une interface très proche de celle de numpy (voir ce lien pour s’en convaincre) et des bindings pour Python, Julia et R. A noter que deux des développeurs de cette librairie devraient prochainement intervenir lors d’un prochain café LOOPS.  »
mercredi 11 octobre 2017
« Un post qui rappelle le feature constexpr introduit dans le C++11 et introduit le très utile if constexpr du C++17, supporté au moins par les versions récentes des compilateurs clang et gcc. J'ai appris incidemment dans le deuxième exemple une utilisation de decltype très intéressantes qui permet de vérifier si une classe possède une méthode donnée en utilisant l'opérateur virgule.  »
Abseil [Virgile Andreani]
mercredi 27 septembre 2017
« C'est un répertoire de bibliothèques et d'abstractions développées par Google pour leurs projets. Un certain nombre de ces ressources ont été incorporées dans les standards successifs de C++, ce qui en fait des bibliothèques pratiques quand on ne peut pas faire passer sa base de code à un standard plus récent mais que l'on souhaite néanmoins utiliser des abstractions modernes.  »
[c++]
mercredi 30 août 2017
« Une réflexion intéressante sur l'usage des smart pointers; avec notamment des cas où ils ne sont pas la solution à privilégier. »
[c++]
Wandbox [Sébastien]
mardi 22 août 2017
« Une interface qui permet de tester des snippets de code d'une trentaine de langages avec différents compilateurs / interpréteurs. Le lien est une illustration avec un snippet de code qui exploite une nouvelle feature du C++17 (if constexpr): on peut déterminer qu'il faut clang 3.9.1 ou gcc 7.1 pour que le code compile. »
C++ et mutable [Vincent]
mercredi 14 juin 2017
« Sur ce post de blog, l'auteur revient sur le mot clé "mutable" en C++ à travers un exemple et des explications d'utilisation. »
[c++]
C++ Super-FAQ! [Sébastien]
jeudi 4 mai 2017
« Une vraie mine d’informations sur le fonctionnement du C++ et ses multiples idiomes, avec des explications très claires. »
[c++]
jeudi 20 avril 2017
« Ce petit tutoriel reprend un à un les concepts et la sémantique sur cette nouveauté du C++ 11, le mouvement. »
[c++]
jeudi 23 mars 2017
« Une explication claire des références rvalues et de la move semantic introduites dans le C++ 11. »
[c++]
vendredi 9 décembre 2016
« Sur ce billet de blog, le programmeur explique comment attrapé les exceptions sur les nombres flottants en C++. Les fichiers core ainsi générés donne l'origine de toutes sortes d'erreurs de calcul sur les nombres flottants. »
[c++]
vendredi 14 octobre 2016
« Ce petit tutoriel explique comment installer et utiliser les outils sparse, splint, cpplint et clang pour faire une analyse statique de vos codes C/C++. »
vendredi 17 juin 2016
« Dans ce post de blog, l'auteur nous explique comment configurer (que ce soit avec un Makefile classique, CMake ou autoconf) et utiliser l'analyseur statique de code C++ livré avec Clang, ainsi que son interface graphique pour visualiser les erreurs trouvées. »
anotherTest.pyx [Vincent]
vendredi 3 juin 2016
« Sur cet exemple, l'auteur nous montre comment résoudre des erreurs de double définition de fonction lorsque l'on cythonize du code en C++. »
Modern C++ [Vincent]
vendredi 13 mai 2016
« Dans cette présentation très simple, on voit rapidement par des exemples comment se passer des pointeurs en C++ moderne. »
[c++]
Pistache [Alexandre]
vendredi 8 avril 2016
« Un framework REST en C++. »
Breathe [Alexandre]
vendredi 11 mars 2016
« Un outil sympa de génération de documentation faisant le pont entre Sphinx et Doxygen (plutôt orienté C/C++). »
vendredi 26 février 2016
« Une série d'articles sur l'optimisation de son code C++ avec l'API de multithreading disponible en C++14. »
[c++]
vendredi 26 février 2016
« Dans cet article très détaillé, l'auteur fait un benchmark entre la std::list et les boost::intrusive::list, et les résultats sont assez surprenants, puisque cela améliore bien les performances, sauf pour certaines opérations quand les données commencent à être grosses. Le code est disponible sur github pour le rejouer.  »
[c++]
vendredi 29 janvier 2016
« Quelques réflexions intéressantes sur le C++... »
[c++]
vendredi 29 janvier 2016
« Dans cet article, l'auteur a voulu démontrer que l'on pouvait améliorer les temps de compilation de son projet C++ en "réinventant la roue". Il a fait des tests de performances avec std::unique_ptr et boost::flat_map qu'il a ré-implémenté pour voir les impacts sur les temps de compilation. »
[c++]
vendredi 8 janvier 2016
« Comment compiler son code C/C++ plus rapidement avec ccache et cmake. »
AddressSanitizer [Vincent]
vendredi 11 décembre 2015
« Clang 3.1 et GCC 4.8 proposent cet outil de détection de corruption mémoire. Il suffit de compiler avec l'option -fsanitize=address. La documentation Wikipedia explique les différents messages émis à l'exécution du code en fonction du type de corruption. »
vendredi 4 décembre 2015
« ... ou comment accéder à des sous ensembles de données en C++ comme on peut le faire en python. »
vendredi 2 octobre 2015
« Un long article avec des exemples concrets d'utilisation des smart pointers C++11. »
[c++]
vendredi 25 septembre 2015
« Un article qui revient sur la célèbre phrase de Linus Torvalds ("C++ is a horrible language") et qui essaie de tordre le cou à cette idée répandue, notamment grâce aux avancées faites par le C++11. »
[c++]
vendredi 18 septembre 2015
«  Un petit tutoriel pour prendre en main valgrind avec des exemples et leurs résultats. »
vendredi 11 septembre 2015
«  Une discussion intéressante sur les itérateurs en C++. »
[c++]
vendredi 11 septembre 2015
«  Comprendre le principe d'Empty Base Optimization (EBO pour les intimes) en C++ avec des exemples. »
[c++]
vendredi 10 juillet 2015
«  Le C++11 vient d'introduire l'opérateur et le constructeur de move. Un petit tuto pour expliquer les raisons de ce changement, ainsi qu'un exemple concret de son implémentation. »
[c++]
vendredi 3 juillet 2015
«  Le "curiously recurring template pattern" (CRTP) est un pattern en C++, dans lequel une classe Enfant hérite d'une classe template Parent<T>, où l'on va templater la classe Parent avec la classe Enfant (class Enfant : public Parent<Enfant>). »
[c++]
vendredi 20 mars 2015
«  Un tutorial yolinux pour configurer des outils Jenkins dédié à l'intégration continue en C++. »
Débuter en C++ [Vincent]
vendredi 6 mars 2015
«  Ce cours niveau débutant est très bien réalisé pour débuter C++. Et je ne dis pas ça juste parce que c'est un collègue du réseau LOOPS. La partie travaux pratiques permet d'aborder dans la pratique les grans thèmes du C++. »
vendredi 23 janvier 2015
«  Un petit article qui montre comment on peut appeler du code Python depuis un programme C/C++ et compiler le tout. »
vendredi 23 janvier 2015
«  On y explique en détail comment appeler du C, C++ ou Fortran depuis R. A travers un exemple, on voit :
  • les conversions de type entre les languages
  • comment compiler le code C, C++ ou Fortran depuis R
  • comment passer des données dans un sens, puis dans l'autre
  • comment débugger et faire du profiling de code.
 »
[c, r, fortran, c++]
c++ [Olivier]
vendredi 16 janvier 2015
«  Une bibliothèque C++ qui présente une interface simple pour définir/utiliser/commenter les arguments d'un programme en ligne de commande. »