Bibliothèque de modèles standard

En tant que bibliothèque de modèles standard ( STL ) différente dans les bibliothèques écrites du langage de programmation C ++ .

À l'origine, la bibliothèque de modèles standard était une bibliothèque C ++ développée par Hewlett-Packard ( HP pour faire court ) dans les années 1980 , qui était largement basée sur une programmation générique avec un accent sur les structures de données et les algorithmes . Cette bibliothèque a considérablement influencé la soi-disant bibliothèque standard C ++ , qui fait désormais partie intégrante du langage de programmation C ++.

Émergence

Le STL développé par HP remonte à des racines très anciennes. Dès 1971, il y avait les premiers projets de bibliothèques génériques par Dave Musser. En 1979 , Alexander Stepanov a commencé à développer ses idées dans ce domaine. Cependant, il n'a été implémenté dans un langage de programmation majeur qu'en 1987 avec le langage de programmation Ada .

Stepanow et Meng Lee , alors employés chez Hewlett-Packard, ont appelé la bibliothèque de programmes qu'ils ont développée STL . Cette bibliothèque est devenue plus tard le domaine public . Puis, en 1993 , à une époque où le C ++ en était encore aux premiers stades de développement, ils ont présenté la bibliothèque au comité de normalisation C ++, qui au fil du temps a élaboré une proposition concrète d'inclusion dans le langage de programmation C ++, qui a finalement conduit à Intégration menée.

Stepanow est ensuite passé à Silicon Graphics ( SGI en abrégé ), puis a continué à travailler sur sa bibliothèque.

Référence à la bibliothèque standard C ++

Une grande partie de la bibliothèque standard C ++ actuelle provient de la STL dans sa version développée par HP au statut de 1993, mais elle en diffère par divers détails. Pour cette raison, il n'est pas possible de nommer un sous-ensemble de la bibliothèque standard C ++ comme STL . La version de la STL à l'époque ne contenait pas non plus de chaînes de caractères ni de flux de données d'entrée / sortie. Le terme STL n'apparaît pas dans la norme C ++ .

Diverses bibliothèques appelées STL

Officieusement, le nom STL est largement utilisé. Cependant, les différentes idées sur la signification de ce terme conduisent parfois à des malentendus. Chez SGI, par exemple, «STL» signifie la bibliothèque qui y est publiée, qui à son tour diffère grandement de la version développée chez HP.

Il n'y a pas de bibliothèque appelée STL telle que définie par les normes nationales ou internationales . Les idées de la STL ont d'abord été incluses dans le standard C ++ 98 d'alors dans la bibliothèque standard C ++ en 1998 et n'ont cessé d'augmenter depuis (C ++ 03, C ++ 11, C ++ 14, C ++ 17, C ++ 20) développé plus avant.

Les bibliothèques suivantes qui sont indépendantes de la bibliothèque standard C ++ sont appelées STL ou ont le composant STL dans leur nom:

  • la bibliothèque STL originale développée par HP (développement interrompu)
  • la STL maintenue par Silicon Graphics ; considérablement élargi par rapport au HP-STL; contient plus ou moins la bibliothèque standard C ++ à l'exception des bibliothèques héritées de C; De plus, des extensions telles que les cartes de hachage , qui n'ont pas été adoptées dans la norme, et ropeun type de données pour un traitement plus efficace des très longues chaînes (développement interrompu)
  • la bibliothèque gratuite STLport ; était pendant un certain temps une sorte d'alternative à la bibliothèque standard C ++
  • une bibliothèque .NET appelée STL / CLI ; a été développé pour tirer parti des extensions de langage introduites avec C ++ / CLI ; ne peut pas être compilé avec des compilateurs C ++ standard

liens web