12
Introduction

Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

Embed Size (px)

Citation preview

Page 1: Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

Introduction

Page 2: Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

Les pointeursBête noir des programmeurs

Pas d’aide de Visual Studio Sauf en utilisant les « break point »

Pas toujours intuitifFacile de s’embrouiller

Pourtant, le concept est simple…

Page 3: Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

Organisation du coursCours : Présentation du principe

TP : Mise en pratique sur un exemple simpleCours : Les listes chainées

TP : Mise en pratiqueCours : l’héritage et les pointeurs

TP : Mise en pratique

Mini ProjetGroupe de 3-4Vous avez jusqu’à la fin du mois pour proposer

un sujet

Page 4: Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

Présentation du principeTravailler avec les pointeurs c’estc’est

Se rapprocher du matériel Nécessite de bien connaitre le fonctionnement de la

mémoireFaire des applications rapidesFaire des applications bugéesAvoir mal à la tête

Page 5: Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

Présentation du principeTravailler avec les pointeurs c’estc’est

Se rapprocher du matérielFaire des applications rapides

Réserver la mémoire quand on en a besoinFaire des applications bugéesAvoir mal à la tête

Page 6: Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

Présentation du principeTravailler avec les pointeurs c’estc’est

Se rapprocher du matérielFaire des applications rapidesFaire des applications bugées

Oublier de libérer la mémoire « segmentation fault »

Avoir mal à la tête

Page 7: Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

Présentation du principeTravailler avec les pointeurs c’estc’est

Se rapprocher du matérielFaire des applications rapidesFaire des applications bugéesAvoir mal à la tête

Des comportements incohérent Des raisonnements très poussés

Page 8: Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

Rassurons nous un peu…Les pointeurs, c’est compliquécompliqué

En effet, même les plus grands programmateurs font encore ce genre d’erreurs (Windows, Half-Life…)

Les pointeurs, c’est pour nous faire ch..ch..En effet, on en aura bientôt plus besoin (java,

C#...)

Page 9: Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

Mais…Les pointeurs, c’est pas sisi compliqué

Avec de la méthode et en prenant du temps, on y arrive (et même facilement)

Les pointeurs, c’est utileutileLorsque l’on recherche la rapidité (jeux vidéo,

programmation Temps réel,…) on est obligé d’y passer

Lorsque l’on fait de grosses applications (Photoshop, Windows…) on est obligé d’y passer

Lorsque l’on fait un programme réseau, on est obligé d’y passer

… 9

Page 10: Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

Le matérielOrganisation de la mémoiremé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

Page 11: Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

La pile…ZoomZoom 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)

C’est ici qu’on va mettre les valeurs dynamiques (pointeurs)

11

Page 12: Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de

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