Tout comme pour le langage C, pour lequel un certain nombre de fonctions ont été définies et standardisées et constituent la bibliothèque C, une bibliothèque de classes et de fonctions a été spécifiée pour le langage C++. Cette bibliothèque est le résultat de l'évolution de plusieurs bibliothèques, parfois développées indépendamment par plusieurs fournisseurs d'environnements C++, qui ont été fusionnées et normalisées afin de garantir la portabilité des programmes qui les utilisent. Une des principales briques de cette bibliothèque est sans aucun doute la STL (abréviation de « Standard Template Library »), à tel point qu'il y a souvent confusion entre les deux.
Cette partie a pour but de présenter les principales fonctionnalités de la bibliothèque standard C++. Bien entendu, il est hors de question de décrire complètement chaque fonction ou chaque détail du fonctionnement de la bibliothèque standard, car cela rendrait illisibles et incompréhensibles les explications. Cependant, les informations de base vous seront données afin de vous permettre d'utiliser efficacement la bibliothèque standard C++ et de comprendre les fonctionnalités les plus avancées lorsque vous vous y intéresserez.
La bibliothèque standard C++ est réellement un sujet de taille. À titre indicatif, sa description est aussi volumineuse que celle du langage lui-même dans la norme C++. Mais ce n'est pas tout, il faut impérativement avoir compris en profondeur les fonctionnalités les plus avancées du C++ pour appréhender correctement la bibliothèque standard. En particulier, tous les algorithmes et toutes les classes fournies par la bibliothèque sont susceptibles de travailler sur des données de type arbitraire. La bibliothèque utilise donc complètement la notion de template, et se base sur plusieurs abstractions des données manipulées et de leurs types afin de rendre générique l'implémentation des fonctionnalités. De plus, la bibliothèque utilise le mécanisme des exceptions afin de signaler les erreurs qui peuvent se produire lors de l'exécution des méthodes de ses classes et de ses fonctions. Enfin, un certain nombre de notions algorithmiques avancées sont utilisées dans toute la bibliothèque. La présentation qui sera faite sera donc progressive, tout en essayant de conserver un ordre logique. Tout comme pour la partie précédente, il est probable que plusieurs lectures seront nécessaires aux débutants pour assimiler toutes les subtilités de la bibliothèque.
Le premier chapitre de cette partie (Chapitre 13) présente les notions de base qui sont utilisées dans toute la libraire : encapsulation des fonctions de la bibliothèque C classique, classes de traits pour les types de base, notion d'itérateurs, de foncteurs, d'allocateurs mémoire et de complexité algorithmique. Le Chapitre 14 présente les types complémentaires que la bibliothèque standard C++ définit pour faciliter la vie du programmeur. Le plus important de ces types est sans doute la classe de gestion des chaînes de caractères basic_string. Le Chapitre 15 présente les notions de flux d'entrée / sortie standards, et la notion de tampon pour ces flux. Les mécanismes de localisation (c'est-à-dire les fonctions de paramétrage du programme en fonction des conventions et des préférences nationales) seront décrits dans le Chapitre 16. Le Chapitre 17 est sans doute l'un des plus importants, puisqu'il présente tous les conteneurs fournis par la bibliothèque standard. Enfin, le Chapitre 18 décrit les principaux algorithmes de la bibliothèque, qui permettent de manipuler les données stockées dans les conteneurs.
Les informations décrites ici sont basées sur la norme ISO 14882 du langage C++, et non sur la réalité des environnements C++ actuels. Il est donc fortement probable que bon nombre d'exemples fournis ici ne soient pas utilisables tels quels sur les environnements de développement existants sur le marché, bien que l'on commence à voir apparaître des environnements presque totalement respectueux de la norme maintenant. De légères différences dans l'interface des classes décrites peuvent également apparaître et nécessiter la modification de ces exemples. Cependant, à terme, tous les environnements de développement respecteront les interfaces spécifiées par la norme, et les programmes utilisant la bibliothèque standard seront réellement portables au niveau source.

Photographie/Fabricants/Pentax/Pentax DA 17-70 mm f/4 IF SDM

Livre de cuisine/Blettes à la voironnaise

Les blettes (ou bettes) à la voironnaise, est un plat isérois à base de côte de blette.
Ingrédients.
Pour 4 personnes :

Photographie/Fabricants/Yashica
Yashica était un fabricant japonais d'appareils photographiques, fondé en 1945 et absorbé au sein de Kyocera en 1983. On connait en particulier cette société pour avoir fabriqué les appareils reflex 35 mm sous la marque Contax à partir de 1974.
Appareils reflex 24 x 36.
Appareils reflex autofocus munis de la baïonnette Kyocera/Yashica.
Les appareils Yashica 200 AF, 230 AF, 270 AF et 300 AF sont répertoriés à la page Kyocera.
Appareils reflex autofocus demi format à objectif fixe.
Les appareils Yashica Samurai X3.0 et X4.0 sont répertoriés à la page Kyocera.
Compléments optiques.
Yashica a commercialisé des jeux de deux compléments optiques destinés à ses appareils reflex à deux objectifs. L'un des compléments est destiné à l'objectif de prise de vue, l'autre à l'objectif de visée.

Photographie/Fabricants de matériels/Questionnaires

Programmation C-C++/La bibliothèque standard/Notions de base

La bibliothèque standard C++ fournit un certain nombre de fonctionnalités de base sur lesquelles toutes les autres fonctionnalités de la bibliothèque s'appuient. Ces fonctionnalités apparaissent comme des classes d'encapsulation de la bibliothèque C et des classes d'abstraction des principales constructions du langage. Ces dernières utilisent des notions très évoluées pour permettre une encapsulation réellement générique des types de base. D'autre part, la bibliothèque standard utilise la notion de complexité algorithmique pour définir les contraintes de performance des opérations réalisables sur ses structures de données ainsi que sur ses algorithmes. Bien que complexes, toutes ces notions sont omniprésentes dans toute la bibliothèque, aussi est-il extrêmement important de les comprendre en détail. Ce chapitre a pour but de vous les présenter et de les éclaircir.

Programmation C-C++/La bibliothèque standard/Les types complémentaires

Le C++ étant un langage basé sur le C, il souffre des mêmes limitations concernant les types de données avancés que celui-ci. Pour pallier cet inconvénient, la bibliothèque standard C++ définit des types complémentaires sous forme de classes C++, éventuellement template, et permettant de satisfaire aux besoins les plus courants. Parmi ces types, on notera avant tout le type basic_string, qui permet de manipuler les chaînes de caractères de manière plus simple et plus sûre qu'avec des pointeurs et des tableaux de caractères. Mais la bibliothèque standard définit également des classes utilitaires qui permettent de manipuler les autres types plus facilement, ainsi que des types capables d'utiliser toutes les ressources de la machine pour les calculs numériques avancés.

Programmation C-C++/La bibliothèque standard/Les flux d'entrée / sortie