Utilisation détaillée de const en C++
Le mot-clé const joue un rôle crucial en C++. Bien qu'il soit souvent compris comme signifiant "constante", son utilité dépasse largement cette définition. Dans cet article, nous explorerons les différentes façons d'utiliser const en C++.
Concepts de base
const est appelé qualificateur de constance. Il limite une variable spécifique e ...
Publié le 15 septembre à 08h48
Exercices pratiques de langage C niveau 2 : épreuves 31 à 35
Épreuve 31
1. Complétion de programme
Dans le programme fourni, la fonction fun fait pivoter dans le sens horaire les éléments périphériques d’une matrice N×N. La procédure est la suivante : on copie d’abord la première ligne dans le tableau temporaire r, puis la première colonne devient la première ligne, la dernière ligne devient la première ...
Publié le 9 septembre à 00h39
Notes sur la programmation C : Points clés et pièges courants
Ce document compile des observations et des leçons tirées de la pratique de la programmation C, couvrant des subtilités de syntaxe, des comportements inattendus et des pièges courants.
1. Initialisation des variables et lecture des entrées
Il est crucial de vérifier si une entrée est attendue, même si elle n'est pas explicitement mentionnée dan ...
Publié le 10 août à 19h25
Passage de valeurs et d'adresses en C
Le concept fondamental en programmation est la gestion de la mémoire. Pour manipuler des ressources, il est essentiel de connaître leur emplacement en mémoire, c'est-à-dire leur adresse, avant de pouvoir accéder ou modifier les données qu'elles contiennent.
Examinons la différence entre le passage de valeurs (pass-by-value) et le passage d'adre ...
Publié le 3 août à 04h15
Comprendre les pointeurs en C pour une gestion efficace de la mémoire
Introduction à l'adressage mémoire
L'architecture fondamentale de la mémoire d'un ordinateur repose sur des unités de stockage appelées octets. Chaque octet représente la plus petite unité de mémoire directement adressable et se voit attribuer une adresse unique. Cette adresse sert de référence pour le processeur afin de localiser et d'interagi ...
Publié le 27 juillet à 10h13
Copie profonde et copie superficielle en C++ avec un exercice d'entretien
La copie d'ojbets en C++ peut être effectuée de deux manières : copie superficielle (shallow copy) et copie profonde (deep copy). Le compilateur génère un constructeur de copie par défaut qui réalise une copie superficielle, ce qui peut entraîner des problèmes lorsque la classe contient des pointeurs ou des ressources allouées dynamiqumeent. Il ...
Publié le 25 juillet à 08h26
Introduction au C++ : De C vers C++
Introduction au C++
Le C++ est un langage de programmation multi-paradigmes qui prend en charge la programmation procédurale, la programmation orientée objet (POO) et la programmation générique. Il est compatible avec le langage C tout en améliorant les vérifications de types et les fonctionnalités. Les avantages principaux incluent l'encapsula ...
Publié le 24 juillet à 20h30
Manipulations fondamentales sur les listes chaînées
Compréhension des structures de liste chaînée
Prenons un exemple de liste chaînée : let liste = [1, 2, 3, 4]
Dans cette structure, liste.val vaut 1, et liste.next correspond au nœud contenant [2, 3, 4] où liste.next.val vaut 2.
Construction d'une liste chaînée à partir d'un vecteur
Convertir les éléments d'un vecteur en une liste chaînée peut s ...
Publié le 17 juillet à 18h33
Interpréter les déclarations de types complexes en C et C++
La détermination du type d'une variable à partir de sa déclaration peut parfois s'avérer délicate en C et C++, surtout lorsqu'elle implique des pointeurs, des tableaux et des combinaisons des deux. Une règle de lecture systématique permet de déchiffrer ces syntaxes, souvent perçues comme intimidantes.
La règle fondamentale : Lecture de droite à ...
Publié le 3 juillet à 09h48
Vérifier si une liste chaînée est un palindrome
Problème
Étant donné une liste chaînée simplement chaînée, déterminer si elle constitue un palindrome.
Suivi : Peut-on résoudre ce problème en O(n) temps et O(1) espace ?
Analyse
L'objectif est de vérifier si une liste chaînée est symétrique (palindrome).
Solution 1 : Approche avec tableau auxiliaire
Une première idée consiste à parcourir la li ...
Publié le 22 juin à 22h47