IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Andrzej Krzemieński

Cette page regroupe les versions françaises des tutoriels de Andrzej Krzemieński présentes sur son blog et traduites sur Developpez.com avec son aimable autorisation.

Dernière mise à jour :

Les préconditions en C++ - Partie 1

Dans la philosophie de « Programmation par contrat », les préconditions sont toujours associées aux postconditions et aux invariants, et ceci dans le contexte de la conception orientée objet.
Dans cet article, je me concentre uniquement sur les préconditions, sans nécessairement faire le lien avec une quelconque classe. Traduit par kurtcpp Lire le tutoriel 22 commentaires Donner une note à l´article (5)

Les préconditions en C++ - Partie 2

Dans ce billet, je continuerai à partager mes réflexions sur les préconditions. Il traitera un peu de la philosophie qui est derrière le concept des préconditions (et des bugs), et étudiera la possibilité de mettre à profit le compilateur pour vérifier certaines préconditions. Plusieurs lecteurs ont fourni des retours utiles dans mon précédent billet, j'essaierai de les incorporer à celui-ci. Traduit par kurtcpp Lire le tutoriel 22 commentaires Donner une note à l´article (5)

Les préconditions en C++ - Partie 3

Dans ce billet, j'examine quelques cas et j'essaie d'expliquer quand et comment spécifier des préconditions, et quand il vaut mieux ne pas le faire. Je crois que cela donnera une meilleure vision de la nature des préconditions. Traduit par kurtcpp Lire le tutoriel 22 commentaires Donner une note à l´article (5)

Les préconditions en C++ - Partie 4

Ceci est le dernier billet sur les préconditions. Nous tenterons d'y traiter les problématiques sur les comportements non définis (ou « UB ») potentiellement liés à l'expression de préconditions. Nous tenterons également d'y explorer ce à quoi pourrait ressembler une gestion des préconditions intégrée au langage. Traduit par kurtcpp Lire le tutoriel 22 commentaires Donner une note à l´article (5)

Les littéraux utilisateur - Partie 1 : les littéraux préparés

Cet article est le premier d'une série de trois au sujet d'une nouveauté du langage : la possibilité de définir des littéraux utilisateur. Il traite des littéraux en général, le but et l'utilité des littéraux utilisateur, leurs limites et les autres possibilités offertes en C++ pour un objectif similaire. Traduit par Bousk Lire le tutoriel 8 commentaires Donner une note à l´article (5)

Les littéraux utilisateur - Partie 2 : les littéraux bruts

Cet article est le deuxième d'une série de trois au sujet d'une nouveauté du langage : la possibilité de définir des littéraux utilisateur. Il traite des littéraux en général, le but et l'utilité des littéraux utilisateur, leurs limites et les autres possibilités offertes en C++ pour un objectif similaire. Traduit par Christophe Louvet Lire le tutoriel 1 commentaire Donner une note à l´article (5)

Les littéraux utilisateur - Partie 3 : aller plus loin

Cet article est le dernier d'une série de trois au sujet d'une nouveauté du langage : la possibilité de définir des littéraux utilisateur. Il traite des littéraux en général, le but et l'utilité des littéraux utilisateur, leurs limites et les autres possibilités offertes en C++ pour un objectif similaire. Traduit par Mishulyna Lire le tutoriel Commentez Donner une note à l´article (5)

Métaprogrammation et métafonctions en C++11

Cet article est une petite introduction sur deux concepts de base de la métaprogrammation en C++.
Tout d'abord, que signifie le préfixe « méta » ici ? Ma définition est que c'est un bout de code pouvant être exécuté au cours de la compilation du programme et son résultat utilisé à ce moment. Contrairement aux fonctions « classiques » qui se lancent normalement durant l'exécution du programme, une métafonction peut renvoyer deux choses : une valeur ou un type... Traduit par Guy Arbus Lire le tutoriel Commentez Donner une note à l´article (5)

Le constructeur par déplacement

Dans ce tutoriel, je compte décrire un seul aspect de ces nouvelles caractéristiques du C++11 : le constructeur par déplacement. Si vous n'êtes pas familier avec les références de r-valeurs, cela sera un départ en douceur. Si vous l'êtes déjà, ce cours pourra tout de même vous être utile, du fait que j'ai tenté d'aborder le sujet sous un angle différent.. Traduit par kurtcpp Lire le tutoriel Commentez Donner une note à l´article (5)

Apprendre à implémenter un framework personnalisable

Dans ce tutoriel, je veux décrire un problème que mes collègues ont rencontré à plusieurs reprises récemment et montrer comment il peut être résolu en C++. Voici le but : nous allons offrir une fonction (ou un ensemble de fonctions surchargées) qui fait « le bon travail » pour « le plus de types que possible ». Traduit par Laethy Lire le tutoriel Commentez Donner une note à l´article (5)

Apprendre à implémenter un autre type de polymorphisme

Dans ce tutoriel, nous allons essayer de découvrir par un exemple concret à quoi sert Boost.Variant. Vous pouvez parfois trouver des exemples utilisant le type variant‹int, double, string›, mais ils me semblent artificiels : je n'ai jamais eu besoin d'utiliser quelque chose étant soit un double, soit un int ; pourtant, je trouve malgré tout cette bibliothèque utile. Même si vous êtes déjà familier avec Boost.Variant et ses concepts de « garantie du jamais vide » et « visiteur statique », je me suis assuré qu'il vous restera encore quelque chose à apprendre en lisant ce tutoriel. Traduit par Mishulyna Lire le tutoriel Commentez Donner une note à l´article (5)

Apprendre à utiliser les assertions dans les fonctions constexpr

Les assertions (comme la macro C assert) ne sont pas idéales, mais restent un outil pratique pour indiquer les attentes d'un programme, et aident à trouver des bogues. Dans ce tutoriel, nous allons voir comment utiliser les assertions dans les fonctions constexpr. Le fonctionnement est différent en C++11 et C++14. Traduit par Bousk Lire le tutoriel Commentez Donner une note à l´article (5)

Tutoriel pour apprendre la meilleure fonctionnalité de C++ - Le cycle de vie des objets et variables

Si vous voulez l'apprendre dans son intégralité, le C++ est vaste, difficile et semé d'embûches. Si vous jetez un coup d'œil à ce que certains en font, vous serez peut-être effrayé. Et de nouvelles fonctionnalités y sont régulièrement ajoutées. Il faut des années pour apprendre chaque détail de ce langage. Mais il n'est pas nécessaire de tout en apprendre. L'utilisation efficace de C++ nécessite seulement la connaissance de quelques-unes de ses caractéristiques essentielles. Dans ce tutoriel, je vais aborder une de celles que je considère comme les plus importantes, celle qui me fait choisir le C++ plutôt que d'autres langages populaires. Traduit par kurtcpp Lire le tutoriel 1 commentaire Donner une note à l´article (5)

Concaténation de chaînes de caractères au moment de la compilation (C++11)

Dans ce tutoriel, vous allez apprendre à concaténer des chaînes de caractères au moment de la compilation de votre programme C++. Traduit par stephane78l Lire le tutoriel Commentez Donner une note à l´article (5)

Initialisation par valeur (value-initialization) avec C++ moderne

Il y a quelque temps, je vous ai montré comment boost::value_initalized pouvait être utilisé pour initialiser la valeur d'objets dans des composants génériques en C++03. En C++11, cela n'est pratiquement pas nécessaire. C++11 vous donne la possibilité de forcer l'initialisation de la valeur de vos objets dans tout contexte d'initialisation possible. Traduit par ahoff Lire le tutoriel Commentez Donner une note à l´article (5)

Votre propre code d’erreur

Ce tutoriel est la première partie d’une série de tutoriels sur l’utilisation de la fonctionnalité std::error_code de la norme C++11. Il s’agit d’une traduction d’un article de blogue dans lequel l’auteur partage une partie de son expérience et de son point de vue. Traduit par watchinofoye Lire le tutoriel 1 commentaire Donner une note à l´article (5)

Apprendre à créer votre propre condition d’erreur

Dans le précédent tutoriel, nous avons vu comment créer notre propre énumération de codes d’erreur pour représenter les différentes causes de défaillance d’un composant et comment les stocker et les transmettre, sans considération pour leur type, en utilisant std::error_code. Dans ce tutoriel, nous allons voir comment vérifier une situation d’erreur représentée dans un std::error_code et comment construire des requêtes utiles concernant des conditions d’erreur. Traduit par watchinofoye Lire le tutoriel 1 commentaire Donner une note à l´article (5)