Introduction
Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de sembrouiller Pourtant, le concept est simple…
Organisation du cours Cours : Présentation du principe TP : Mise en pratique sur un exemple simple Cours : Les listes chainées TP : Mise en pratique Cours : lhéritage et les pointeurs TP : Mise en pratique Mini Projet Groupe de 3-4 Vous avez jusquà la fin du mois pour proposer un sujet
Présentation du principe cest Travailler avec les pointeurs cest Se rapprocher du matériel Nécessite de bien connaitre le fonctionnement de la mémoire Faire des applications rapides Faire des applications bugées Avoir mal à la tête
Présentation du principe cest Travailler avec les pointeurs cest Se rapprocher du matériel Faire des applications rapides Réserver la mémoire quand on en a besoin Faire des applications bugées Avoir mal à la tête
Présentation du principe cest Travailler avec les pointeurs cest Se rapprocher du matériel Faire des applications rapides Faire des applications bugées Oublier de libérer la mémoire « segmentation fault » Avoir mal à la tête
Présentation du principe cest Travailler avec les pointeurs cest Se rapprocher du matériel Faire des applications rapides Faire des applications bugées Avoir mal à la tête Des comportements incohérent Des raisonnements très poussés
Rassurons nous un peu… compliqué Les pointeurs, cest compliqué En effet, même les plus grands programmateurs font encore ce genre derreurs (Windows, Half-Life…) ch.. Les pointeurs, cest pour nous faire ch.. En effet, on en aura bientôt plus besoin (java, C#...)
Mais… si Les pointeurs, cest pas si compliqué Avec de la méthode et en prenant du temps, on y arrive (et même facilement) utile Les pointeurs, cest utile Lorsque lon recherche la rapidité (jeux vidéo, programmation Temps réel,…) on est obligé dy passer Lorsque lon fait de grosses applications (Photoshop, Windows…) on est obligé dy passer Lorsque lon fait un programme réseau, on est obligé dy passer … 9
Le matériel mémoire Organisation de la mémoire Programme réel (toto.exe) Comprend le code et les constantes Variables statiques (toutes les variables sauf les pointeurs) Variables dynamiques (les pointeurs) Paramètres des fonctions 10
La pile… Zoom Zoom sur la pile et le tas Augmente quand on appelle une fonction (on empile les paramètres de la fonction et 2-3 autres trucs) Cest ici quon va mettre les valeurs dynamiques (pointeurs) 11
Exemple… Imaginons le main suivant : i 4ABF 4AC0 4ABE 23A9 23AA 23A8 j 23 void main(){ int i; i=58; int j; cout<<j; } 58 F3DE 0F4D 23A7 23A6 23A5 23A4 Prog BSS Tas 23A8 12