Partage
  • Partager sur Facebook
  • Partager sur Twitter

Librairies

Sujet résolu
    13 juin 2008 à 14:09:32

    Bonjour a tous :D

    Voila j'ai un petit soucis pour la rédaction d'un travail en c++ ^^
    L'énoncé me demande de me baser sur un exemple donné mais j'ai du mal a le comprendre :p

    alors voila juste le début qui me pose un peu problème :

    #include <cstddef>  // NULL, ptrdiff_t, size_t
    #include <cstdlib>  // EXIT_SUCCESS, abs, div, rand...
    #include <iostream> // cerr...
    


    Je ne sait pas a quoi servent ces deux librairies... (iostream si biensur mais pas le 'cerr')
    Quelqu'un pourrait m'éclairer en m'expliquant a quoi servent les differentes fonctionnalités ?
    Les fonctions/types que je retrouve dans mon code sont :

    ptrdiff_t
    size_t
    cerr
    EXIT_FAILURE

    voila j'espere que vous pourez m'aider :D juste un petit mot d'explication sur l'utilisation et les fonctionnalités de ces librairies ;-)

    Bonne journée,
    • Partager sur Facebook
    • Partager sur Twitter
      13 juin 2008 à 14:12:49

      NULL, generalement egal à 0, sert a initialiser un pointeur
      par exemple int* ptr= NULL;
      size_t: type predefini(a coup de typedef) generalement comme le unsigned int
      abs, div, rand: dfes fonctions mathematiques
      EXIT_SUCCESS/FAILURE deux constante symbolique utilisé comme valeur de retour d'une fonction, (succes=fonction reussi failure sinon)
      • Partager sur Facebook
      • Partager sur Twitter
        13 juin 2008 à 14:16:12

        merci,

        je vois pas trop l'intérret d'utiliser size_t alors qu'on pourrais écrire unsigned int... c'est juste pour une simplification d'écriture ? ou bien il y a des subtilités suplémentaires ?

        sait tu a quoi sert la fonction 'cerr' ?

        merci bcp, ca m'aide ;-)
        • Partager sur Facebook
        • Partager sur Twitter
          13 juin 2008 à 14:22:54

          cerr n'est pas une fonction mais un flux de sortie d'erreur vers l'ecran .

          par exemple :
          int f(){
             int num ;
             cout<<"entrez un chiffre entre 0 et 10"<<endl;
             cin>>num;    //l'utilisateur entre par exemple 25
            if (num >10 ) cerr<<"erreur vous avez entre un nombre plus grand que 25"<<endl;
          


          bien sur cerr est utilise a des fins plus professionnels mais c'est juste pour t'expliquer .
          • Partager sur Facebook
          • Partager sur Twitter
            13 juin 2008 à 14:27:12

            ah ok merci bcp ;-)

            le travail porte justement sur un usage "propre" et "efficace" du c++
            donc je doit utiliser ce genre de fonctions.

            dernière petite question pour la route (j'espere ^^)

            sais-tu ce qu'est ce type : "ptrdiff_t" ?

            Merci bcp en tout cas ;)
            • Partager sur Facebook
            • Partager sur Twitter
              13 juin 2008 à 14:28:29

              cerr est la sortie d'erruer standart, s'utilise comme cout
              • Partager sur Facebook
              • Partager sur Twitter
                13 juin 2008 à 14:50:11

                ptrdiff_t est le type qui permet de contenir la distance entre deux pointeurs.

                Si tu soustraits deux pointeurs, le résultat sera de type ptrdiff_t.
                • Partager sur Facebook
                • Partager sur Twitter
                Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
                Anonyme
                  13 juin 2008 à 16:43:41

                  Citation : J@ck£r

                  je vois pas trop l'intérret d'utiliser size_t alors qu'on pourrais écrire unsigned int... c'est juste pour une simplification d'écriture ? ou bien il y a des subtilités suplémentaires ?


                  size_t est un type spécialement défini pour tout ce qui concerne la taille d'objets.
                  Ainsi, la fonction C malloc demande un size_t en argument.

                  Son avantage sur unsigned int, c'est que ce type est prévu pour pouvoir contenir le nombre désignant la taille du plus grand objet que tu peux allouer.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    13 juin 2008 à 20:56:16

                    ok, merci a tous pour vos réponses :D

                    une dernière petite question : ptrdiff_t permet donc de contenir la distance entre 2 pointeurs. mais je voit pas trop dans quel cas cela peut être utile.

                    Une soustraction de deux pointeurs donne a priori rien de bien intéressant non ? je voit pas du tout dans quels cas ce type peut etre utile...
                    • Partager sur Facebook
                    • Partager sur Twitter
                      13 juin 2008 à 20:58:32

                      Bah par exemple si t'as deux éléments d'un même tableau de données, pour calculer la distance entre les deux ? Imagine t'as le premier à l'index x, l'autre, tu sais pas, alors tu soustrais et tu peux savoir son index. Mais je dis peut être des conneries...
                      • Partager sur Facebook
                      • Partager sur Twitter
                        13 juin 2008 à 21:12:40

                        oubien pour savoir la taille d'un tableau dont tu ne connais que l 1er et dernier elements
                        • Partager sur Facebook
                        • Partager sur Twitter
                          13 juin 2008 à 21:18:54

                          Ou même pour ajouter, c'est un offset.
                          C'est exactement comme pour les dates et les durées.
                          • Partager sur Facebook
                          • Partager sur Twitter
                          C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
                            14 juin 2008 à 10:45:24

                            mmmm c'est vrai que c'est assez utile tout compte fait :D
                            surtout que mon travail porte sur un type de données abstrait sur les matrices :p

                            merci bcp pour vos réponses ;-)
                            • Partager sur Facebook
                            • Partager sur Twitter
                              14 juin 2008 à 16:04:05

                              PS : <iostream> et compagnie sont des entêtes, et non pas des librairies.

                              Qt, Boost, SFML sont des bibliothèques, pas des librairies.

                              Une librairie c'est là ou tu vas acheter des bouquins, point.
                              • Partager sur Facebook
                              • Partager sur Twitter

                              Librairies

                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                              • Editeur
                              • Markdown