IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

Les pointeurs ?


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut Les pointeurs ?
    Bonjour,
    je suis un débutant C++ et jusqu'à maintenant j'avançais plutot bien mais là je suis tombé sur un os.
    Je ne comprend rien au pointeur, à quoi ils servent, ce qu'ils représentent ...etc. Je n'ai pas fais aussi la différence entre la valeur et l'adresse bon en fait je mélange tout.

  2. #2
    Membre émérite

    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2005
    Messages
    634
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2005
    Messages : 634
    Par défaut
    Le seul moyen est de s'y tremper et de s'habituer avec. Voici un tuto sur les pointeurs qui pourra peut-être t'aider : http://chgi.developpez.com/pointeur/

    Après en C++ il ne faut pas oublier les références qui remplacent avantageusement les pointeurs dans pas mal de cas.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut
    Merci, je vous tient au courant si j'ai des difficultés pour assimiler quelques notions.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 41
    Par défaut
    Les pointeurs, c'est pas si dur que ça... En fait, il suffit de savoir comment fonctionne la mémoire, et les pointeurs deviennent beaucoup plus évidents.

  5. #5
    Membre chevronné Avatar de aziz jim
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    455
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 455
    Par défaut
    salut:
    un pointeur est une "variable" qui contient l'adresse d'un objet en mémoire.
    on peut utiliser cette adresse pour opérer des transformations sur l'objet,pour utiliser l'objet...
    la plupart des profs conseillent de ne pas utiliser les pointeurs car ils sont très dangereux.mais voici de très bons cours (leur auteur dit que le fait de ne pas utiliser des pointeurs sous pretexte d'éviter les risques c'est comme si on demande à un pilote de ne pas décoler mais de choisir une voix terrestre pour aller de paris à Rabat.)

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 140
    Par défaut
    Salut,

    la plupart des profs conseillent de ne pas utiliser les pointeurs car ils sont très dangereux.
    Je ne pense pas que ce soit la bonne méthode, car que tu le veilles ou pas, les pointeurs sont très utilisés. Mieux vaut savoir comment çà fonctionne.

  7. #7
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    Citation Envoyé par Tournevyks
    Les pointeurs sont indispensables, notamment pour le polymorphisme, qui est, avec l'héritage, le point le plus important en POO...
    L'intérêt de l'héritage en l'absence du polymorphisme d'inclusion est assez limité -- souvent utilisé à mauvais escient quand ce n'est pas pour mettre en oeuvre la subtituabilité.

    Sinon, la nécessité de l'apprentissage des pointeurs peut être retardé jusqu'au chapitre sur le polymorphisme, en C++(!). Egalement utiles pour gérer des cycles de vie complexes, des liens d'un objet vers un autre, implémenter des types abstrait complexes comme ceux de la SL, s'interfacer avec des API écrites en C. Dis autrement, si tu es débutant, change de cours. Tu n'as pas besoin de comprendre les pointeurs au début de ton apprentissage.


    Un pointeur n'est qu'une donnée qui contient une adresse vers une autre donnée.
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  8. #8
    Membre Expert Avatar de gnto
    Homme Profil pro
    Ingénieur système logiciel
    Inscrit en
    Janvier 2006
    Messages
    923
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur système logiciel
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Janvier 2006
    Messages : 923
    Par défaut
    Citation Envoyé par Luc Hermitte
    C'est un cours de C pour l'instant.
    Et apprendre le C juste pour ensuite voir le C++, ce n'est vraiment pas l'approche la plus simple.
    Je trouve que si. Apprendre d'abord le C pour maitriser le compilo edition pointeur et syntaxe et aprés passé à la POO.

    Si on ne sais pas ce qu'est un pointeur on ne pourra pas comprendre les mescanisme en C++.

    Et j'irai meme jusqu'a dire que la programmation asm permet de comprendre les pointeurs, stack, heap etc ...

  9. #9
    Expert confirmé
    Avatar de Luc Hermitte
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2003
    Messages
    5 296
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2003
    Messages : 5 296
    Par défaut
    En java, ils appellent ça des références. Ce sont juste des pointeurs déguisés : des sortes de smart-handles à comptage de référence qui gèrent (il parait que ce n'était pas le cas au début) les cycles.

    <hs>
    Et apprendre le C++ directement n'a jamais impliqué de commencer par apprendre la POO. Ne serait que remplacer : - les passages de pointeurs par valeur par les passages par référence, - scanf/prinf par les flux, - les buffers et autres listes faites à la mano par les conteneurs standard ; ça fait toute la différence : le débutant peut se concentrer sur l'algorithmique, et en plus le code est plus simple (ou, plus juste, voire les deux) et plus maintenable. Il aura le temps de revenir sur la gestion de la mémoire au moment opportun : une fois qu'il aura acquis les bases de la programmation.

    Et par pitié : le débat se retrouve dans les nombreux fils sur l'apprentissage du C++, les bouquins pour commencer le C++, C vs C++, ...
    Tu en choisi un, tu le lis et on continue ça là bas. (Comment ça, c'est moi qu'il l'ai ressuccité ? )

    Je renvois aussi aux FAQ de developpez, la FAQ C++ lite, et la FAQ sur le site de Bjarne Stroustrup (en particulier l'article sur l'apprentissage du C++ en tant que nouveau langage).
    Quand à savoir se servir du compilo, c'est tout aussi utile que de savoir se servir d'un éditeur de texte : il y a plusieurs grandes famille avec des points communs et mais aussi des syntaxes et des particularités complètement différentes. C'est nécessaire, mais cela n'a rien à voir avec connaitre le langage, c'est à côté.
    </hs>
    Blog|FAQ C++|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS|Bons livres sur le C++
    Les MP ne sont pas une hotline. Je ne réponds à aucune question technique par le biais de ce média. Et de toutes façons, ma BAL sur dvpz est pleine...

  10. #10
    Membre émérite Avatar de MatRem
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 750
    Par défaut
    Les pointeurs sont indispensables, notamment pour le polymorphisme, qui est, avec l'héritage, le point le plus important en POO...
    Et bien non puisque le polymorphisme fonctionne aussi avec les références.
    Mêmes si leur fonctionnement interne est trés proche des pointeurs, l'utilisateur débutant ne voit pas vraiment un pointeur mais un alias.


    ps:
    Bon je chipote peu être un peu là

Discussions similaires

  1. [LG]Les pointeurs: Forme en "Anneaux"
    Par k o D dans le forum Langage
    Réponses: 4
    Dernier message: 20/10/2004, 07h29
  2. Réponses: 4
    Dernier message: 13/08/2004, 18h39
  3. [TTreeView] Problème avec les pointeurs d'objet
    Par BlackWood dans le forum Composants VCL
    Réponses: 2
    Dernier message: 02/07/2004, 14h31
  4. pointeurs, toujours les pointeurs :/
    Par giviz dans le forum C
    Réponses: 16
    Dernier message: 08/10/2003, 15h02
  5. Pb de débutant sur les pointeurs!!!
    Par benji17c dans le forum C
    Réponses: 6
    Dernier message: 30/09/2003, 17h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo