Standard Template Library - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Implémentation actuelle

La bibliothèque STL est principalement un ensemble d'objets et de méthodes standards pour C++. La norme ANSI/ISO précise les fonctionnalités de ces différents objets, mais pas la façon concrète dont ceux-ci doivent être implémentés. Pour cette raison, il existe de nombreuses bibliothèques STL différentes. Elles fournissent toutes un support des objets et algorithmes définis comme standards, et apportent pour la plupart un certain nombre d'extensions qui ne sont, à l'heure actuelle, pas reconnus comme standards par la norme. Cette multiplicité d'implémentations est similaire à celle qui existe au niveau des compilateurs.

Du point de vue des licences, la norme elle-même n'est soumise à aucun copyright, et tout le monde est donc libre de développer sa propre implémentation de la bibliothèque STL. Par contre, l'implémentation elle-même de la bibliothèque peut être ou non soumise à une licence, éventuellement propriétaire.

L'une des implémentations les plus diffusées de la bibliothèque STL a été développée historiquement par Hewlett-Packard, puis par Silicon Graphics. Cette implémentation est « libre de droit », sous copyright, c'est-à-dire que l'on peut la copier, la distribuer et la modifier, mais que l'on ne peut pas se réclamer en être l'auteur.

Il existe aussi une implémentation de la STL en licence GNU. Dans les différentes distributions Linux, elle est incluse dans le paquet libstdc++.

Diagramme des conteneurs

Exemples de programme

      // Met dans le vecteur v1 la seconde moitié du vecteur v2      v1.assign(v2.begin() + v2.size() / 2, v2.end());            // Applique la fonction test à chaque membre de v1      for_each(v1.begin(), v1.end(), test);      
Page générée en 0.089 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise