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 :

La biblioth�que standard du C++ [Tutoriel]


Sujet :

C++

  1. #1
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par d�faut La biblioth�que standard du C++
    Bonjour

    Vous pouvez poster ici vos commentaires concernant l'article : La biblioth�que standard du C++

    Remarque : cet article date de 1999 et les informations qu'il contient sont en partie obsol�tes. N'h�sitez pas � poser des questions sur le forum en cas de doute.

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par d�faut
    Re�u par mail :
    Bonjour,
    je n'ai pas trouv� d'entr�e sur le forum C++ relatif au tutoriel http://cpp.developpez.com/cours/stl/. Une petite erreur s'y est gliss�e, dans le tableau 3.2, il est dit que "La m�thode at effectue exactement la m�me op�ration que l'op�rateur crochets". Il sera peut-�tre judicieux d'expliciter et d'expliquer que at fait les test de taille du tableau (et renvoie out_of_range si c'est pas bon) alors que [] ne le fait. (Source : http://www.cplusplus.com/reference/v...perator%5B%5D/ )
    Voil�, merci pour tout,
    XXX
    Bonjour

    Je ne suis pas sur qu'il s'agisse d'une erreur. L'article date de 1999 et il est possible qu'� cette �poque, il n'y avait pas de distinction entre at() et l'op�rateur [] (c'est trop ancien, il faudrait attendre des devs C++ plus anciens que moi)
    Dans la norme actuelle (C++11) et la pr�c�dente (C++03), il y a bien une diff�rence entre des deux fonctions (bien qu'il me semble que tous les compilateurs ne sont pas - ou n'ont pas �t� - respectueux de la norme sur ce point et qu'ils testaient les bornes avec l'op�rateur [])

    Concernant l'article, seul l'auteur peut faire ce type de modification, donc on doit laisser tel quel.

    Merci du signalement

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2005
    Messages
    2
    D�tails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 2
    Par d�faut
    Merci pour cette r�ponse, claire et rapide.
    Cordialement,

  4. #4
    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 98, at() devait v�rifier les bornes et lever une exception.
    [] a toujours �t� libre de faire comme il l'entendait: il y a une pr�condition (bornes valides) et le non respect est et a toujours �t� une UB (undefined behaviour). Donc libre aux impl�mentations de balancer une exception (peu probable), de ne rien faire (le plus r�pandu), de claquer des assertions (la chose que j'aurai aim� universelle) ou d'inventer des checked-STL, ou de renvoyer une constante pr�d�finie (tiens, �a je ne l'avais jamais vu)

    Concernant l'article
    a- s/librai?rie/biblioth�que

    b- les faits historiques ne sont pas bons. La lib standard == fusion entre lib C, STL, streams (j'ai un vague souvenir des flux avec TC++3.0 et la STL n'existait pas), plus d'autres additions inspir�es parfois par la STL (string).
    La FAQ est plus correcte.

    c- les arguments de portabilit� n'ont plus lieu d'�tre
    De plus parler de "STL" au lieu de la lib standard me fait tiquer.

    d- <non, il n'y a pas de point d>

    e- des remarques d�plac�es "pas de contr�le de visibilit� dans les espaces de noms" alors qu'il suffit de cacher les symboles � cacher (sic) dans l'unit� de traduction avec des espaces de noms anonymes.

    f- un cours sur les espaces de noms n'a que peu de rapport avec un tuto sur la lib standard

    g- depuis quand std::exception ne fait pas parti de std ?

    h- Beaucoup de remarques qui datent d'une �poque o� la norme venait juste de sortir.
    Un peu comme si on truffait de nouveaux articles de commentaires sur l'utilisabilit� de telle ou telle chose venant du C++11 parce que les compilateurs ne sont pas encore � jour.

    i- II-B-2 -> string.h est clairement connu

    j- Je pinaille, mais non la STL ne propose pas std::string ; t le fichier d'en-t�te n'est clairement pas string.h

    k- s/Steeve Coplien/Jim O. Coplien/ j'imagine
    Et non le COW n'est plus en odeur de saintet�.

    l- diagnostic, le nom masculin ne s'�crit pas en -que.

    m- II-D-1 "classe virtuelle pure" n'existe pas. C'est classe abstraite, dont toutes les fonctions membres sont virtuelles pure, ou classe de base virtuelle (et c'est la base qui est virtuelle, car relatif � un h�ritage donn�)

    n- La classe rationnel
    - utilise des specification d'exception -> c'est le mal
    - a des mutateurs de membres (pourquoi faire, la copie est triviale, et il existe un constructeur)
    - bouh les vilains exit
    - tableau dynamique au lieu de vector ... dans un article sur la lib standard ; certes cela permet d'illustrer bad_alloc et de parler des exceptions vs code de retour ignor�s

    o- II-E-
    WTF ? Le RTTI fait parti du C++98, non ?

    p- vector::operator[] ne claque pas un out_of_range

    q- s/DQ/deque

    r- III-B-2, resize n'est pas sur tous les conteneurs.

    s- III-B l'intro n'est pas claire


    Je n'ai pas trop le temps de regarder le reste.
    Il y a du boulot de mise � niveau � faire.

    EDIT: pardon, je pensais qu'il s'agissait d'une proposition de relecture d'un article pour �ventuelle modif (ce qui ne peut �tre fait que par l'auteur si pas sous creative commons; j'avais aussi zapp� sur le coup). Au temps pour moi. N'h�sitez pas � mod�rer et virer les commentaires orient�s relecture.
    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...

  5. #5
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Rh�ne (Rh�ne Alpes)

    Informations professionnelles :
    Secteur : Sant�

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par d�faut
    Citation Envoy� par Luc Hermitte Voir le message
    EDIT: pardon, je pensais qu'il s'agissait d'une proposition de relecture d'un article pour �ventuelle modif (ce qui ne peut �tre fait que par l'auteur si pas sous creative commons; j'avais aussi zapp� sur le coup). Au temps pour moi. N'h�sitez pas � mod�rer et virer les commentaires orient�s relecture.
    Comme j'ai ajout� un lien vers cette discussion en d�but d'article, il est au contraire int�ressant pour les lecteurs d'avoir tes commentaires, donc je laisse

Discussions similaires

  1. ajouter strlcpy � la biblioth�que standard cyg1.7
    Par J4e8a16n dans le forum Biblioth�que standard
    R�ponses: 1
    Dernier message: 25/04/2009, 12h23
  2. R�ponses: 4
    Dernier message: 18/12/2007, 21h54
  3. R�ponses: 2
    Dernier message: 19/09/2007, 17h37
  4. R�ponses: 2
    Dernier message: 19/12/2006, 12h45
  5. Le type Arbre binaire dans les biblioth�ques standards ?
    Par sam69 dans le forum API standards et tierces
    R�ponses: 6
    Dernier message: 10/05/2006, 13h50

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