Pointeurs bruts et opérateur d’adresse
Déclarer des pointeurs, obtenir des adresses avec & et comprendre les types de pointeurs
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 10L’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; // bothTaille 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) = □
std::cout << fp(5); // 25Pointeurs 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/deleteou 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.
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
- Pointeurs bruts et opérateur d’adresse
- Déréférencement et arithmétique des pointeurs
- nullptr et sécurité des pointeurs nuls
- Quand utiliser des pointeurs ou des références