Cours de C C++ - C.Casteyde by collectif
Auteur:collectif [collectif]
La langue: fra
Format: epub
Tags: Informatique
Éditeur: O'Reilly
Publié: 0101-01-01T00:00:00+00:00
Chapitre 13. Services et notions de base de la bibliothèque standard
•
les méthodes allocate et deallocate sont susceptibles d’utiliser les opérateurs new et delete
du langage. Ce n’est pas une obligation, mais cette contrainte signifie que les programmes qui
redéfinissent ces deux opérateurs doivent être capable de satisfaire les demandes de l’allocateur
standard ;
•
les types pointer, const_pointer, size_type et difference_type doivent être égaux respectivement
aux types T *, const T*, size_t et ptrdiff_t. En fait, cette contrainte n’est imposée que pour les
allocateurs destinés à être utilisés par les conteneurs de la bibliothèque standard, mais il est plus
simple de la généraliser à tous les cas d’utilisation.
Pour terminer ce tour d’horizon des allocateurs, sachez que la bibliothèque standard définit également
un type itérateur spécial permettant de stocker des objets dans une zone de mémoire non initialisée.
Cet itérateur, nommé raw_storage_iterator, est de type Output et n’est utilisé qu’en interne par la
bibliothèque standard. De même, la bibliothèque définit des algorithmes permettant d’effectuer des
copies brutes de blocs mémoire et d’autres manipulations sur les blocs alloués par les allocateurs. Ces
algorithmes sont également utilisés en interne, et ne seront donc pas décrits plus en détail ici.
13.7. Notion de complexité algorithmique
En aucun endroit la norme C++ ne spécifie la manière de réaliser une fonctionnalité. En effet, elle
n’impose ni les structures de données, ni les algorithmes à utiliser. Les seules choses qui sont spé-
cifiées par la norme sont les interfaces bien entendu (c’est-à-dire les noms des classes, des objets et
les signatures des fonctions et des méthodes) et la sémantique des diverses opérations réalisables. Ce-
pendant, la norme C++ ne permet pas de réaliser toutes ces fonctionnalités n’importe comment, car
elle impose également des contraintes de performances sur la plupart de ses algorithmes ainsi que sur
les méthodes des conteneurs. Ces contraintes sont exprimées généralement en terme de complexité
algorithmique, aussi est-il nécessaire de préciser un peu cette notion.
Note : En pratique, les contraintes de complexité imposées par la bibliothèque standard sont tout
simplement les plus fortes réalisables. En d’autres termes, on ne peut pas faire mieux que les
algorithmes de la bibliothèque standard.
13.7.1. Généralités
La nature des choses veut que plus un programme a de données à traiter, plus il prend du temps pour
le faire. Cependant, certains algorithmes se comportent mieux que d’autres lorsque le nombre des
données à traiter augmente. Par exemple, un algorithme mal écrit peut voir son temps d’exécution
croître exponentiellement avec la quantité de données à traiter, alors qu’un algorithme bien étudié
aurait n’aurait été plus lent que proportionnellement à ce même nombre. En pratique, cela signifie que
cet algorithme est tout simplement inutilisable lorsque le nombre de données augmente. Par exemple,
le fait de doubler la taille de l’ensemble des données à traiter peut engendrer un temps de calcul quatre
fois plus long, alors que le temps d’exécution de l’algorithme bien écrit n’aurait été que du double
seulement. Et si le nombre de données est triplé et non doublé, cet algorithme demandera huit fois plus
de temps, là où le triple seulement est nécessaire. Si l’on prend quatre fois plus de données, le temps
sera multiplié par soixante-quatre. On voit clairement que les choses ne vont pas en s’améliorant
quand le nombre de données à traiter augmente.
Télécharger
Ce site ne stocke aucun fichier sur son serveur. Nous ne faisons qu'indexer et lier au contenu fourni par d'autres sites. Veuillez contacter les fournisseurs de contenu pour supprimer le contenu des droits d'auteur, le cas échéant, et nous envoyer un courrier électronique. Nous supprimerons immédiatement les liens ou contenus pertinents.
Histoires pornographiques by Q'Abé Valentine(2685)
Le chant de Wren 01 Marquée by Addison Cain(2682)
Le Glee magazine by littlesitter(2318)
Antoine Marcas T05 La Croix des Assassins by Giacometti et Ravenne(2176)
Fait maison n°1 by Cyril Lignac(2156)
Le petit traité Rustica de la pâtisserie maison - Plus de 100 recettes faciles (Les petits traités) (French Edition) by Martine Soliman(2098)
Le Roman des Croisades T1 La Croix et le Royaume by Michel Peyramaure(2036)
À la recherche du temps perdu 15 XV Le temps retrouvé 2 by Marcel Proust(2030)
À la recherche du temps perdu 05 V À l’ombre des jeunes filles en fleurs 3 by Marcel Proust(2001)
Les Micro-humains by Bernard Werber(1968)
La croix de Saint-Georges by Kent Alexander(1965)
Marianne T2- et l'inconnu de Toscane by Juliette Benzoni(1950)
Cal DONOVAN 01 Le livre de la croix by Cooper Glenn(1935)
Le Maître ou le tournoi de go by Kawabata Yasunari(1752)
LE POINT DE VUE DES ÉDITEURS by Farallon Islands(1746)
The Lying Game T5 , Crois de bois croix de fer by Sara Shepard(1744)
La cité des rêves by Don Winslow(1706)
Dans le murmure des feuilles qui dansent (A.M. ROM.FRANC) (French Edition) by Agnès Ledig(1615)
Substance secrète by Reichs Kathy(1555)