Les coulisses du standard C++

Posté par  (site web personnel) . Édité par Davy Defaud, Benoît Sibaud, ZeroHeure, bubar🦥, M5oul et Anthony Jaguenaud. Modéré par Pierre Jarillon. Licence CC By‑SA.
99
20
août
2016
C et 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. :-)

Évolution du langage C++

C++17, Genèse d’une version mineure

Posté par  (site web personnel) . Édité par Benoît Sibaud, Davy Defaud, cracky, palm123, Lucas, Adrien Dorsaz, M5oul, ZeroHeure, Storm, RyDroid et Martin Peres. Modéré par bubar🦥. Licence CC By‑SA.
Étiquettes :
61
2
oct.
2016
C et C++

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.

Deux collègues discutent : « C++ est enfin sorti », « Trop top », « Va falloir se palucher les 1700 pages du nouveau standard », « Gloups ». Une note repositionnable sur le dessin indique : « Il y en a qui ne connaissent pas encore LinuxFr.org »

C++17 fixe l’ordre d’évaluation des expressions

Posté par  . Édité par Oliver, Davy Defaud, Benoît Sibaud et palm123. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
56
1
déc.
2016
C et C++

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 !   ᕕ(ᐛ)ᕗ

Bjarne propose de changer le C++ pour corriger son livre qu'il tient dans ses mains

Journal [C++14 ] Expressions template pour les nuls

45
31
mai
2016

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 De tout, de rien, des liens, du vrac (mais moins bookmarks cette fois)

Posté par  (site web personnel) .
40
11
juin
2012

Et voici un nouveau numéro !

Bon, faudrait que j'arrive à me caler sur trolldi pour publier, ça pourrait être un peu plus marrant…

Quoi qu'il en soit, j'ai essayé de faire ça un peu mieux en catégorisant un peu plus, même si c'est pas encore parfait. Les liens sont plutôt inclus dans le texte, à vous de dire si c'est mieux ou si vous préférez de bêtes listes.

Pour cette fois, principalement trois thèmes :

  • Des histoires de boulot
  • Quelques (…)

Journal Un tap tempo en ligne de commande

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
39
19
fév.
2018

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 (…)

Qt 4.8 est sorti

Posté par  . Édité par Gof, Florent Zara, _PhiX_ et Nÿco. Modéré par j. Licence CC By‑SA.
Étiquettes :
39
19
déc.
2011
C et C++

La nouvelle version de Qt (prononcer « cute » comme mignon en anglais), le framework en C++ derrière KDE et bien d'autres applications libres, est sortie. Celle-ci est la dernière version majeure de la branche 4.x et la prochaine sera la branche 5.

Merci à Gof, Nÿco, _PhiX_ et reno pour leur aide lors de la rédaction de cette dépêche.

Journal Gestion de l'erreur - C++ - std::optional

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
39
3
sept.
2016

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 (…)

Opmock : un outil pour le TDD efficace en C et C++

Posté par  . Modéré par Lucas Bonnet. Licence CC By‑SA.
Étiquettes :
32
14
mar.
2011
Ligne de commande

Le [TDD] est une pratique souvent utilisée dans les projets de développement utilisant les « méthodes agiles ». Pour supporter cette pratique, il est nécessaire de disposer d'outils qui permettent d'écrire facilement des tests unitaires, mais également de couper les dépendances d'une section de code, afin de la tester en isolation. Les langages actuels, comme Java ou C#, bénéficient tous de pléthore d'outils de ce type, comme Jmockit ou Mockito. Cependant, le C et le C++ n'ont pas cette chance, bien qu'une quantité impressionnante de code les utilise.

Opmock est un outil de génération automatique de stubs et de mocks, qui permet de simplifier énormément le TDD avec des bases de code importantes en C ou C++, existantes ou nouvelles.

Le projet est placé sous licence GPLv3.

Journal C++ Core Guidelines

Posté par  (Mastodon) . Licence CC By‑SA.
Étiquettes :
31
2
oct.
2015

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 Votre potager a (encore) besoin de Tomate

Posté par  . Licence CC By‑SA.
Étiquettes :
29
27
mar.
2015

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 (…)

C++11 : sur le fil

Posté par  . Édité par Florent Zara et Xavier Teyssier. Modéré par claudex. Licence CC By‑SA.
Étiquettes :
28
7
juin
2013
C et C++

Dans la course effrénée que se livrent les compilateurs, GCC vient de gagner une manche en étant le premier à fournir une implémentation complète du langage C++11. Les développeurs ont profité de la sortie de la version de maintenance 4.8.1 pour implanter les deux fonctionnalités manquantes :

  • les rvalue-references pour le pointeur this
  • l'utilisation de decltype sur des expressions de type incomplet

NdM : merci à nazcafan pour son journal.

Journal C++11 : sur le fil

Posté par  . Licence CC By‑SA.
Étiquettes :
28
6
juin
2013
Ce journal a été promu en dépêche : C++11 : sur le fil.

Dans la course effrénée que se livrent les compilateurs, GCC vient traîtreusement de gagner une manche en étant le premier à fournir une implémentation complète du langage C++11. Les développeurs ont profité de la sortie de la version de maintenance 4.8.1 pour implanter les deux fonctionnalités manquantes :

les rvalue-references pour le pointeur this

Celles-ci permettent (entre autres) de surcharger des fonctions membres quand this est une rvalue ; voici un exemple tiré de la proposition originale :

class X {
(…)

Concours de programmation CodinGame le 22 Février 2014

Posté par  (site web personnel) . Édité par ZeroHeure et Benoît Sibaud. Modéré par Ontologia. Licence CC By‑SA.
25
20
fév.
2014
Jeu

La prochaine édition de CodinGame, le challenge de code en ligne, aura lieu le samedi 22 Février 2014 à 18h (UTC+1).

Ragnarok

L'événement accueillera des développeurs du monde entier pour leur permettre de passer un bon moment, défier leurs pairs, gagner des prix ou entrer en contact avec des sociétés qui leur plaisent et qui recrutent.

Parmi les nouveautés sur la plate-forme :

  • Bash arrive parmi les langages disponibles.
  • Dart 1.1 et de nouvelles bibliothèques pour Perl ont été ajoutés.
  • Le thème de ce challenge est "Ragnarök", issu de la mythologie scandinave. Pour l'occasion, de nouveaux graphismes seront à l'honneur.

Journal Des nouvelles de boost

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
21
23
fév.
2021

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 (…)