Les chaînes de caractères : manipulation et structures en C++

Introduction aux chaînes de caractères Les chaînes de caractères, souvent appelées strings, se distinguent des listes linéaires par leur focalisation sur des ensembles de caractères. Contrairement aux listes qui traitent des éléments individuels, les chaînes permettent principalement des opérations sur des sous-chaînes, c'est-à-dire des segment ...

Publié le 21 juin à 16h03

Guide Complet de la Vérification de Types en C++

Le langage C++ propose principalement **trois approches** distinctes pour la vérification des types : La reconnaissance de type à l'exécution avec typeid La déduction de type à la compilation avec decltype Le casting sécurisé pour les hiérarchies d'héritage avec dynamic_cast Un. Reconnaissance de Type à l'Exécution avec typeid 1. En-tête requ ...

Publié le 21 juin à 05h28

La gestion mémoire dans la programmation C et C++

Introduction à la manipulation mémoire en C et C++ Dans le développement logiciel avec C et C++, la compréhension des pointeurs et de la mémoire est fondamentale. Ces langages de bas niveau permettent une manipulation directe de la mémoire, offrant une grande flexibilité mais aussi un risque accru de bugs. Une maîtrise claire des concepts mémoi ...

Publié le 21 juin à 03h09

Solutions de l'ARC 107 d'AtCoder en C++

Problème A : Somme de Produits Triangulaires Description : Étant donné trois entiers positifs \(A\), \(B\) et \(C\), calculer la valeur modulo \(998244353\) de la somme triple \(\sum_{a=1}^{A} \sum_{b=1}^{B} \sum_{c=1}^{C} a \times b \times c\). Solution : La somme se factorise en \(\left( \sum_{a=1}^{A} a \right) \times \left( \sum_{b=1}^{B} b ...

Publié le 21 juin à 00h51

Implémentation d'un arbre binaire via une liste chaînée

Définition d'un arbre binaire Un arbre binaire est une structure de données composée de nœuds (n > 0). Il peut être soit un arbre vide (racine nulle), soit un arbre non vide. Pour un arbre non vide, il existe un nœud unique appelé racine. Tous les autres nœuds forment deux ensembles disjoints, T1 et T2, qui sont respecitvement les sous-arbre ...

Publié le 20 juin à 22h04

Bilan de la 87ème Compétition Bi-Hebdomadaire : Analyse et Solutions

L'auteur présente son bilan de la 87ème compétition bi-hebdomadaire, ayant réussi à résoudre trois des quatre problèmes proposés. 6184. Calculer le Nombre de Jours Passés Ensemble Le premier problème consistait à dénombrer les jours communs où deux personnes étaient disponibles, étant donné leurs périodes de présence respectives. L'auteur a ren ...

Publié le 20 juin à 17h34

Implémentation du Patron de Conception Prototype en C++

Fondements du Patron Prototype Le patron de conception Prototype, classé parmi les patrons créationnels du Gang of Four (GoF), offre un mécanisme permettant de générer de nouvelles instances en dupliquant un objet existant. Cette approche s'avère particulièrement pertinente lorsque l'instanciation d'un objet via un constructeur classique (et l' ...

Publié le 20 juin à 17h14

Lecture des événements de la souris dans la console en C++

Pour gérer les interactions de la souris dans une application console sous Windows en C++, on utilise la fonction ReadConsoleInput de l'API Windows. Cette approche est analogue à la capture des événements clavier. Le fichier d'en-tête nécessaire est : #include <windows.h> Les événements de la souris sont stockés dans une variable de type ...

Publié le 20 juin à 03h20

Configuration de GoogleTest avec Visual Studio 2015 : Premier projet

Présentation de GoogleTest GoogleTest (souvent abrégé gtest) est un framework de tests unitaires C++ open source et multiplateforme (Linux, macOS, Windows, Cygwin, Windows CE, Symbian) développé par Google. Il permet d'écrire des tests en C++ sur différentes plateformes en fournissant des assertions variées : vérifications fatales ou non, te ...

Publié le 20 juin à 00h35

Programmation Orientée Objet en C++ : Héritage, Composition et Classes Génériques

Expérience 1 : (Expérience de vérification, à pratiquer personnellement, non à inclure dans le document de blog.) Expérience 2 : Code : 1 #include <iostream> 2 #include <vector> 3 #include <string> 4 #include <algorithm> 5 #include <numeric> 6 #include <iomanip> 7 8 using std::vector; 9 usi ...

Publié le 19 juin à 06h41