C++ Academy · Leçon

Pointeurs bruts et opérateur d’adresse

Déclarer des pointeurs, obtenir des adresses avec & et comprendre les types de pointeurs

Leçon 1 sur 413 étapes

Pointeurs bruts et opérateur d’adresse est une leçon C++ Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C++ Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C++ Academy comprend 4 leçons au total.

Qu’est-ce qu’un pointer

Un pointer contient l’adresse d’un autre objet. Il s’agit d’une variable dont la valeur est un emplacement mémoire.

Déclarer un pointer

Le type pointer est T*. Par convention, placez le * avec le type.

int x = 10;
int* p = &x;          // p holds the address of x
std::cout << p;        // prints an address
std::cout << *p;       // prints 10

L’opérateur d’obtention d’adresse

L’opérateur unaire & fournit l’adresse d’une variable. Le type du résultat est T*.

int x = 42;
int* p = &x;

L’opérateur de déréférencement

L’opérateur unaire * lit ou écrit l’objet vers lequel pointe un pointer.

*p = 100;
std::cout << x;   // 100  (x changed through p)

Pointeurs nuls

Un pointer qui ne pointe vers rien doit recevoir la valeur nullptr. Le déréférencer constitue un comportement indéfini.

int* p = nullptr;
if (p == nullptr) {
    std::cout << "no target\n";
}

Les pointers sont des nombres en interne

Une adresse n’est qu’un entier (souvent de 64 bits). Le type pointer indique au compilateur comment interpréter les octets situés à cette adresse.

Pointer vers const ou const pointer

Deux emplacements indépendants pour const :

int x = 1, y = 2;
const int* p1 = &x;     // pointer to const int (cannot modify *p1)
int* const p2 = &x;     // const pointer to int (cannot reseat)
const int* const p3 = &x; // both

Taille des pointeurs

Tous les pointeurs ont la même taille sur une plateforme donnée — généralement 8 octets sur les systèmes 64 bits. Même un char* fait 64 bits de large.

Pointeurs de fonctions

Vous pouvez obtenir l’adresse d’une fonction et l’appeler via le pointeur.

int square(int x) { return x * x; }

int (*fp)(int) = &square;
std::cout << fp(5);   // 25

Pointeurs vers des membres

Il existe une syntaxe spéciale pour les pointeurs vers les membres d’une classe. Rare dans le code moderne : la plupart des fonctions de rappel utilisent std::function ou des expressions lambda à la place.

Pourquoi les pointeurs sont importants

Les pointeurs sont essentiels pour :

  • La mémoire dynamique (new/delete ou les pointeurs intelligents)
  • Les références facultatives (qui peuvent être nulles)
  • Le polymorphisme (distribution virtuelle via des pointeurs vers la classe de base)
  • L’interopérabilité avec les API C

Vérification rapide

À quoi l’expression &x s’évalue-t-elle ?

Récapitulatif

Un pointeur contient une adresse. Utilisez & pour obtenir une adresse et * pour lire ou modifier la cible. nullptr est la valeur nulle sûre. Les pointeurs sont essentiels à la mémoire dynamique, aux références facultatives et au polymorphisme.

Gratuit pour commencer

Apprends C++ avec un tuteur IA — gratuit

Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.

Cours
51
Leçons
203

Questions Fréquemment Posées

La leçon « Pointeurs bruts et opérateur d’adresse » est-elle gratuite ?

Oui — le texte complet de « Pointeurs bruts et opérateur d’adresse » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C++ Academy, passe à CoddyKit PRO. Le cours C++ Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Pointeurs bruts et opérateur d’adresse » ?

Déclarer des pointeurs, obtenir des adresses avec & et comprendre les types de pointeurs Tu pratiques C++ Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C++ Academy ?

Aucune expérience préalable n'est requise. C++ Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Pointeurs bruts et opérateur d’adresse » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C++ Academy ?

Oui. Chaque leçon C++ Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Pointeurs bruts et opérateur d’adresse
  2. Déréférencement et arithmétique des pointeurs
  3. nullptr et sécurité des pointeurs nuls
  4. Quand utiliser des pointeurs ou des références
← Retour à C++ Academy