Je cherche sur le web mais je ne trouve jamais rien de satisfaisant, alors
je poste ici : connaîtriez-vous une bonne référence pour la STL ? Par
"bonne référence", j'entends une référence facile à utiliser, un peu comme
la fameuse javadoc ... Il doit bien y avoir une documentation en doxygen de
la STL ?
Bien sûr il y a http://www.sgi.com/tech/stl/ qui estbien faite mais jusqu'à
un certain point : j'ai mal à la tête rien qu'en essayant de lire les
documentations des méthodes de std::string, par exemple. Tout est trop
condensé, très mal présenté, bref vous l'aurez compris, ce que je recherche
est une doc claire et facile à utiliser.
Donc, si l'un d'entre vous à ça sous le coude, je suis preneur ...
Pour revenir à un niveau plus général, Oui, laissons tomber le troll ;-)
parce qu'il y a une chose que je n'ai pas bien compris dans la discussion...
Qu'est-ce que ça veut dire, « supporter » au juste, ici ? Parce que la STL fait partie du langage C++ ; ce n'est pas une bibliothèque propre à Microsoft, ni à aucun autre fournisseur du C++. Et je me pose la quesion : jusqu'à quel niveau est-ce qu'il revient au fournisseur de documenter le langage ? Les documentations de mes compilateurs C++, par exemple, n'explique pas que les violations de la ODR, ou la modification d'une même variable plus d'une fois sans un point de séquencement entretemps, mènent à un comportement indéfini. Ces règles font partie du langage, et ils (les fournisseurs, c-à-d Sun et GNU, en ce qui me concerne) partent du principe que c'est à l'utilisateur de l'apprendre. Ça vaut pour les langages « repandus », comme C et C++, mais pas pour d'autres choses -- GNU make, ou bison, ont une documentation assez complète, à la fois tutorielle et de référence.
C'est une bonne question, mais ca lève une remarque supplémentaire : Est-ce que C++, en tant que langage normalisé et non propriétaire, n'est pas dans une certaine mesure désavantagé par rapport à des langages plus "propriétaires" (Java, C#, ...) parce que les vendeurs vont avoir tendance à se dire "pour le C++, tout est spécifié et expliqué dans la norme, donc je peux me contenter de faire le strict minimum en matière de documentation et publicité" ???
Et c'est une vraie question, dont je ne sais pas réelement la réponse -- sur ma machine (Solaris 2.8), sed est documenté en détail, mais la documentation de awk ne suffira pas pour écrire grand chose. Pourquoi l'un, et pas l'autre ? (Peut-être le fait que Kernighan a écrit un livre sur AWK ?) Bah, de toute façon, vu la quantité de matériel présent sur une
machine récente, c'est un peu illusoire de s'imaginer que tout sera parfaitement documenté.... Maintenant, il est certain que le choix des priorités est discuttable.
Arnaud
kanze wrote:
Sylvain wrote:
Arnaud Debaene wrote on 19/03/2006 22:53:
Pour revenir à un niveau plus général,
Oui, laissons tomber le troll ;-)
parce qu'il y a une chose
que je n'ai pas bien compris dans la discussion...
Qu'est-ce que ça veut dire, « supporter » au juste, ici ? Parce
que la STL fait partie du langage C++ ; ce n'est pas une
bibliothèque propre à Microsoft, ni à aucun autre fournisseur du
C++. Et je me pose la quesion : jusqu'à quel niveau est-ce qu'il
revient au fournisseur de documenter le langage ? Les
documentations de mes compilateurs C++, par exemple, n'explique
pas que les violations de la ODR, ou la modification d'une même
variable plus d'une fois sans un point de séquencement
entretemps, mènent à un comportement indéfini. Ces règles font
partie du langage, et ils (les fournisseurs, c-à-d Sun et GNU,
en ce qui me concerne) partent du principe que c'est à
l'utilisateur de l'apprendre. Ça vaut pour les langages
« repandus », comme C et C++, mais pas pour d'autres choses --
GNU make, ou bison, ont une documentation assez complète, à la
fois tutorielle et de référence.
C'est une bonne question, mais ca lève une remarque supplémentaire :
Est-ce que C++, en tant que langage normalisé et non propriétaire,
n'est pas dans une certaine mesure désavantagé par rapport à des
langages plus "propriétaires" (Java, C#, ...) parce que les vendeurs
vont avoir tendance à se dire "pour le C++, tout est spécifié et
expliqué dans la norme, donc je peux me contenter de faire le strict
minimum en matière de documentation et publicité" ???
Et c'est une vraie question, dont je ne sais pas réelement la
réponse -- sur ma machine (Solaris 2.8), sed est documenté en
détail, mais la documentation de awk ne suffira pas pour écrire
grand chose. Pourquoi l'un, et pas l'autre ? (Peut-être le fait
que Kernighan a écrit un livre sur AWK ?)
Bah, de toute façon, vu la quantité de matériel présent sur une
machine récente, c'est un peu illusoire de s'imaginer que tout sera
parfaitement documenté.... Maintenant, il est certain que le choix des
priorités est discuttable.
Pour revenir à un niveau plus général, Oui, laissons tomber le troll ;-)
parce qu'il y a une chose que je n'ai pas bien compris dans la discussion...
Qu'est-ce que ça veut dire, « supporter » au juste, ici ? Parce que la STL fait partie du langage C++ ; ce n'est pas une bibliothèque propre à Microsoft, ni à aucun autre fournisseur du C++. Et je me pose la quesion : jusqu'à quel niveau est-ce qu'il revient au fournisseur de documenter le langage ? Les documentations de mes compilateurs C++, par exemple, n'explique pas que les violations de la ODR, ou la modification d'une même variable plus d'une fois sans un point de séquencement entretemps, mènent à un comportement indéfini. Ces règles font partie du langage, et ils (les fournisseurs, c-à-d Sun et GNU, en ce qui me concerne) partent du principe que c'est à l'utilisateur de l'apprendre. Ça vaut pour les langages « repandus », comme C et C++, mais pas pour d'autres choses -- GNU make, ou bison, ont une documentation assez complète, à la fois tutorielle et de référence.
C'est une bonne question, mais ca lève une remarque supplémentaire : Est-ce que C++, en tant que langage normalisé et non propriétaire, n'est pas dans une certaine mesure désavantagé par rapport à des langages plus "propriétaires" (Java, C#, ...) parce que les vendeurs vont avoir tendance à se dire "pour le C++, tout est spécifié et expliqué dans la norme, donc je peux me contenter de faire le strict minimum en matière de documentation et publicité" ???
Et c'est une vraie question, dont je ne sais pas réelement la réponse -- sur ma machine (Solaris 2.8), sed est documenté en détail, mais la documentation de awk ne suffira pas pour écrire grand chose. Pourquoi l'un, et pas l'autre ? (Peut-être le fait que Kernighan a écrit un livre sur AWK ?) Bah, de toute façon, vu la quantité de matériel présent sur une
machine récente, c'est un peu illusoire de s'imaginer que tout sera parfaitement documenté.... Maintenant, il est certain que le choix des priorités est discuttable.
Arnaud
Jean-Marc Desperrier
Sylvain wrote:
comme je l'ai indiqué en réponse à James: - le fait que la description de la STL dans la référence librairie du MSDN soit minimaliste (uniquement exhaustive et énumérative et non descriptive), il y a par exemple 34 pages d'overview pour ATL et 4 pages pour la partie STL Overview, - le fait qu'il n'y ait quasi exemple exemple de code utilisant la STL (soit qlq samples sont présents dans les pages propres à certaines méthodes ou opérateurs).
Et pour revenir sur le sujet d'origine, où peut-on trouver des bons exemples avancés d'utilisation de la STL ?
En particulier, vu les efforts réalisés pour l'inclure dans la STL et supporter le passage par argument/en code retour de fontion, des exemples d'utilisation d'auto_ptr qui seraient autre chose que "c'est pas bien ne vous en servez pas".
Sylvain wrote:
comme je l'ai indiqué en réponse à James:
- le fait que la description de la STL dans la référence librairie du
MSDN soit minimaliste (uniquement exhaustive et énumérative et non
descriptive), il y a par exemple 34 pages d'overview pour ATL et 4 pages
pour la partie STL Overview,
- le fait qu'il n'y ait quasi exemple exemple de code utilisant la STL
(soit qlq samples sont présents dans les pages propres à certaines
méthodes ou opérateurs).
Et pour revenir sur le sujet d'origine, où peut-on trouver des bons
exemples avancés d'utilisation de la STL ?
En particulier, vu les efforts réalisés pour l'inclure dans la STL et
supporter le passage par argument/en code retour de fontion, des
exemples d'utilisation d'auto_ptr qui seraient autre chose que "c'est
pas bien ne vous en servez pas".
comme je l'ai indiqué en réponse à James: - le fait que la description de la STL dans la référence librairie du MSDN soit minimaliste (uniquement exhaustive et énumérative et non descriptive), il y a par exemple 34 pages d'overview pour ATL et 4 pages pour la partie STL Overview, - le fait qu'il n'y ait quasi exemple exemple de code utilisant la STL (soit qlq samples sont présents dans les pages propres à certaines méthodes ou opérateurs).
Et pour revenir sur le sujet d'origine, où peut-on trouver des bons exemples avancés d'utilisation de la STL ?
En particulier, vu les efforts réalisés pour l'inclure dans la STL et supporter le passage par argument/en code retour de fontion, des exemples d'utilisation d'auto_ptr qui seraient autre chose que "c'est pas bien ne vous en servez pas".
Aurelien Regat-Barrel
Alors je refomule... Qu'est ce qui te fais dire que MS supporte très mal la STL au juste?
comme je l'ai indiqué en réponse à James: - le fait que la description de la STL dans la référence librairie du MSDN soit minimaliste (uniquement exhaustive et énumérative et non descriptive), il y a par exemple 34 pages d'overview pour ATL et 4 pages pour la partie STL Overview, - le fait qu'il n'y ait quasi exemple exemple de code utilisant la STL (soit qlq samples sont présents dans les pages propres à certaines méthodes ou opérateurs).
Note que la KB comporte pas mal d'exemples sur la STL: http://support.microsoft.com/search/default.aspx?catalog=LCID%3D1033&mode=s&catúlse&query=how+to+use+stl J'ai pas compté, mais y'en a un petit nombre quand même.
accessoirement le fait que Microsoft ne m'ait jamais convié à une présentation de "son" implémentation et "ses" outils basés sur la STL (contre des dizaines de messes pour C#).
L'année dernière aux journées de rencontre C++, il y a eu une petite présentation de la STL. Ca n'a pas duré des heures, mais ATL par exemple n'a pas été abordé.
-- Aurélien Regat-Barrel
Alors je refomule... Qu'est ce qui te fais dire que MS supporte très
mal la STL au juste?
comme je l'ai indiqué en réponse à James:
- le fait que la description de la STL dans la référence librairie du
MSDN soit minimaliste (uniquement exhaustive et énumérative et non
descriptive), il y a par exemple 34 pages d'overview pour ATL et 4 pages
pour la partie STL Overview,
- le fait qu'il n'y ait quasi exemple exemple de code utilisant la STL
(soit qlq samples sont présents dans les pages propres à certaines
méthodes ou opérateurs).
Note que la KB comporte pas mal d'exemples sur la STL:
http://support.microsoft.com/search/default.aspx?catalog=LCID%3D1033&mode=s&catúlse&query=how+to+use+stl
J'ai pas compté, mais y'en a un petit nombre quand même.
accessoirement le fait que Microsoft ne m'ait jamais convié à une
présentation de "son" implémentation et "ses" outils basés sur la STL
(contre des dizaines de messes pour C#).
L'année dernière aux journées de rencontre C++, il y a eu une petite
présentation de la STL. Ca n'a pas duré des heures, mais ATL par exemple
n'a pas été abordé.
Alors je refomule... Qu'est ce qui te fais dire que MS supporte très mal la STL au juste?
comme je l'ai indiqué en réponse à James: - le fait que la description de la STL dans la référence librairie du MSDN soit minimaliste (uniquement exhaustive et énumérative et non descriptive), il y a par exemple 34 pages d'overview pour ATL et 4 pages pour la partie STL Overview, - le fait qu'il n'y ait quasi exemple exemple de code utilisant la STL (soit qlq samples sont présents dans les pages propres à certaines méthodes ou opérateurs).
Note que la KB comporte pas mal d'exemples sur la STL: http://support.microsoft.com/search/default.aspx?catalog=LCID%3D1033&mode=s&catúlse&query=how+to+use+stl J'ai pas compté, mais y'en a un petit nombre quand même.
accessoirement le fait que Microsoft ne m'ait jamais convié à une présentation de "son" implémentation et "ses" outils basés sur la STL (contre des dizaines de messes pour C#).
L'année dernière aux journées de rencontre C++, il y a eu une petite présentation de la STL. Ca n'a pas duré des heures, mais ATL par exemple n'a pas été abordé.
-- Aurélien Regat-Barrel
Sylvain
Aurelien Regat-Barrel wrote on 27/03/2006 17:49:
Note que la KB comporte pas mal d'exemples sur la STL:
exact, merci d'avoir attiré mon attention sur elle (je n'ai pas assez le réflexe de rechercher dans la KB).
L'année dernière aux journées de rencontre C++, il y a eu une petite présentation de la STL. Ca n'a pas duré des heures, mais ATL par exemple n'a pas été abordé.
<troll> c'était vraiment au menu initial ou c'est venu de questions de l'auditoire ? ;-) </troll>
Sylvain.
Aurelien Regat-Barrel wrote on 27/03/2006 17:49:
Note que la KB comporte pas mal d'exemples sur la STL:
exact, merci d'avoir attiré mon attention sur elle (je n'ai pas assez le
réflexe de rechercher dans la KB).
L'année dernière aux journées de rencontre C++, il y a eu une petite
présentation de la STL. Ca n'a pas duré des heures, mais ATL par exemple
n'a pas été abordé.
<troll>
c'était vraiment au menu initial ou c'est venu de questions de
l'auditoire ? ;-)
</troll>
Note que la KB comporte pas mal d'exemples sur la STL:
exact, merci d'avoir attiré mon attention sur elle (je n'ai pas assez le réflexe de rechercher dans la KB).
L'année dernière aux journées de rencontre C++, il y a eu une petite présentation de la STL. Ca n'a pas duré des heures, mais ATL par exemple n'a pas été abordé.
<troll> c'était vraiment au menu initial ou c'est venu de questions de l'auditoire ? ;-) </troll>
Sylvain.
Aurelien Regat-Barrel
<troll> c'était vraiment au menu initial ou c'est venu de questions de l'auditoire ? ;-) </troll>
C'était prévu : il ont même présenté un exemple que Stroustrup aurait donné pour montrer que C++ c'est plus mieux bien que Java (note que MS développait alors la STL.Net). En fait, il semblerait que l'auditoire était plus habitués aux MFC qu'à la STL. Pour en rajouter une couche, note qu'il y a un ng dédié à la STL chez MS (microsoft.public.vc.stl) où entre autre P.J. Plauger répond aux questions.
A+
-- Aurélien Regat-Barrel
<troll>
c'était vraiment au menu initial ou c'est venu de questions de
l'auditoire ? ;-)
</troll>
C'était prévu : il ont même présenté un exemple que Stroustrup aurait
donné pour montrer que C++ c'est plus mieux bien que Java (note que MS
développait alors la STL.Net). En fait, il semblerait que l'auditoire
était plus habitués aux MFC qu'à la STL.
Pour en rajouter une couche, note qu'il y a un ng dédié à la STL chez MS
(microsoft.public.vc.stl) où entre autre P.J. Plauger répond aux questions.
<troll> c'était vraiment au menu initial ou c'est venu de questions de l'auditoire ? ;-) </troll>
C'était prévu : il ont même présenté un exemple que Stroustrup aurait donné pour montrer que C++ c'est plus mieux bien que Java (note que MS développait alors la STL.Net). En fait, il semblerait que l'auditoire était plus habitués aux MFC qu'à la STL. Pour en rajouter une couche, note qu'il y a un ng dédié à la STL chez MS (microsoft.public.vc.stl) où entre autre P.J. Plauger répond aux questions.