2009-08-14 7 views
4

Je veux apprendre STL par la navigation rapide de la source du projet réel. Où puis-je trouver un projet de haute qualité qui utilise STL?Y at-il un projet cool écrit en STL?

Où puis-je trouver un projet de haute qualité qui utilise STL?

+9

Il est utilisé dans la plupart des projets C++. Vous pourriez aussi bien demander s'il y a des projets cool écrits avec des boucles for. – jalf

+0

Je ne sais pas si j'utiliserais le mot "la plupart", mais le point de votre message a été bien pris. – Dane

+0

peut-être la question devrait être des projets cool construits en C++ sans STL ... mes deux cents –

Répondre

27

Notepad++: pure Win32 + STL seulement!

Basé sur un composant d'édition puissant Scintilla, Notepad ++ est écrit en C++ et utilise pure win32 api et STL qui assure une vitesse d'exécution supérieure et petite taille du programme. En optimisant comme de nombreuses routines que possible sans perdre la convivialité, Notepad ++ est en essayant de réduire les émissions de dioxyde de carbone du monde . En utilisant moins de puissance CPU , le PC peut réduire et réduire la consommation d'énergie, un environnement plus vert.

+2

J'aime Notepad ++. C'est l'une des premières choses que j'installe sur une nouvelle machine. De plus, il existe une version d'applications portables aussi. – Justin

+2

+1. Notepad ++ est mon éditeur de texte général pour bien ... quoi que ce soit. –

4

Notez que STL est partiellement inclus dans la norme C++ elle-même. Cela rend la plupart des produits énumérés au http://www.research.att.com/~bs/applications.html intéressant. La liste est un mélange de projets propriétaires et open source.

4

Pas exactement une réponse à votre question, mais si vous n'avez aucune connaissance de STL/templates, vous trouverez parfois du code basé sur STL, heu ..., brut.

Par exemple, si le code suivant ...

std::for_each(s.begin(), s.end(), 
    std::bind1st(std::mem_fun(&MyClass::MyMethod), this)); 

... vous donne la chair de poule (il l'a fait, pour moi), alors vous êtes une mauvaise surprise si la navigation une STL intensive du code .

Si vous voulez apprendre le STL, essayer séparément chaque classe/fonction de STL serait une bonne idée. Par exemple, prendre http://www.cplusplus.com/reference/stl/ et jouer avec les deux conteneurs, et les fonctions auxiliaires séparément.

Le plus dure sera en tête <algorithme> et <fonctionnelle>, mais c'est mon point de vue personnel ....

+0

oh belle syntaxe de liaison ... Il me donne toujours un mal de tête aussi (au moins dans les cas plus compliqués). J'ai tendance à préférer l'emballer dans mon propre foncteur juste pour obtenir une syntaxe saine. – jalf

1

Et pour ajouter sur réponse Araxe. Tout comme le Bloc-notes ++, SQLyog, un client mySQL est une autre application géniale construite avec une pure API Win32 et possède également le composant d'édition Scintilla. il est donc super léger et rapide. Le code source est disponible sur leur site Web.

1

Le code Boost library contient une partie du code C++ de la plus haute qualité disponible et dépend fortement de la STL. STL est juste une partie de C++.