10 oct. 2011

Dangers et pièges des systèmes de suivi des références

On conçoit aisément qu'il est très difficile de bien concevoir une application ou une libraire : cela demande des connaissances pointues en design ainsi qu'une imagination débordante. Par contre, il est très facile de mal faire : il suffit de se laisser appeler par les sirènes des différents pièges qui, nonchalamment, s'installent sur notre route.

Ce billet traite de l'un de ces pièges : la notion de propriété des objets dans un programme.

Je sais, vous avez déjà lu cette introduction récemment...

Lire la suite...

20 janv. 2011

Le futur standard C++ : introduction aux expressions rationnelles

Décidément, ce blog fait la part belle au C++ en ce moment. Mais on ne se refait pas, et plus j'étudie le standard à venir, plus ses possibilités provoquent en moi le désir d'en savoir plus (et de partager avec vous ce savoir). Rajoutez à cela que le projet sur lequel je travaille nécessite de ma part d'écrire un outil de taille relativement modeste dans ce langage, et vous aurez une vision assez claire de ce à quoi je passe mes journées en ce moment. Mais nous ne sommes pas ici pour discuter des turpitudes de ma vie, donc passons au sujet qui nous intéresse.

Le TR1 avait introduit les expressions régulières directement tirées de la librairie Boost. Puisque le TR1 n'a jamais vraiment pris (la faute aux vendeurs de compilateurs, qui ont délaissé cette extension de la librairie jusqu'à récemment), on trouve peu d'exemple d'utilisation de cette fonctionnalité. Profitons donc du fait que les expressions régulières arrivent dans le nom d'espace std pour nous y intéresser.

Lire la suite...

19 janv. 2011

[Code source] ekogen v0.4

La librairie de chiffrement basée sur OpenSLL présentée dans un billet récent évolue et deviens plus utilisable. La version 0.4 est disponible en téléchargement sur developpez.com (ainsi que sur ce blog, attachée à ce billet).

Lire la suite...

02 déc. 2010

Le futur standard C++ : apparté

Je sais que je ne devrais plus toucher au sujet, mais voilà qu'enfin, une personne du comité de normalisation du C++ a enfin compris ma détresse. De quoi est-ce que je parle ? Et bien, tout simplement d'un article assez ancien, paru sur ce blog, et qui a déjà connu plusieurs suites. Tout a commencé il y a quatre (courtes ?) années, par ce billet : Etude du C++ Technical Report 1 - reference_wrapper. Deux errata ont suivi : le premier paru quelques jours plus tard, donne une idée du noeud du problème : il y a un problème dans la norme C++. Le second fait état d'une conversation avec Pete Becker (l'éditeur du comité de normalisation C++ la personne chargée à l'heure actuelle de mettre à jour le document normatif), qui contredit un peu mon argumentaire précédent. Enfin, le dernier billet est une vérification de l'implémentation de std::tr1::reference_wrapper<> dans le Service Pack 1 de Visual Studio .Net 2008.

Il fallait une conclusion à tout ça, et j'espère que ce billet l'apportera enfin. Un élément nouveau est récemment venu apporter de l'eau à mon moulin.

Lire la suite...