Standard Template Library: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Escarbot (discussione | contributi)
Xqbot (discussione | contributi)
m Bot: Modifico: et:C++ Standard Template Library; modifiche estetiche
Riga 1:
La '''Standard Template Library''' ('''STL''') è una [[libreria software]] inclusa nella [[libreria standard]] del linguaggio [[C++]] e definisce [[struttura dati|strutture dati]] generiche, [[Iteratore|Iteratori]] e [[algoritmo|algoritmi]] generici.
 
== Descrizione ==
La Standard Template Library costituisce uno strato software ormai divenuto fondamentale per i programmatori [[C++]], cui fornisce un set precostituito di [[classe (informatica)|classi]] comuni, come container e [[array]] associativi, che hanno la caratteristica di poter operare con qualsiasi tipo di dato, sia primitivo che definito dall'utente, richiedendo allo sviluppatore nel [[design by contract|contratto]] il rispetto di pochi vincoli (ad esempio, l'implementazione di operatori o funzioni di assegnamento o confronto) offrendogli in cambio classi complete di tutte le funzioni e operazioni elementari (ad es. in un container, copia, assegnamento, inserimento/rimozione, iterazione tra gli elementi) e pronte all'uso.
 
== Contenuti ==
=== Contenitori ===
I [[container (informatica)|contenitori]] della STL sono sequenziali e associativi. A loro volta, una parte dei contenitori sequenziali può essere definita come adattatori, in quanto sono in effetti delle interfacce ridotte e specializzate dei contenitori principali.
I contenitori standard sequenziali includono ''vector'' e ''list'' con ''deque'', ''queue'', ''priority_queue'' e ''stack'' come adattatori. I contenitori associativi sono ''set'', ''multiset'', ''map'' e ''multimap''.
Riga 34:
|come per la mappa, ma consente la presenza di chiavi duplicate.
|-
|'''hash_set'''<br />
'''hash_multiset'''<br />
'''hash_map'''<br />
'''hash_multimap'''
|simili al set, multiset, map o multimap, rispettivamente, ma implementati usando una [[tabella hash]]; le chiavi non sono ordinate, ma una [[funzione hash]] deve esistere per ogni tipo di chiave. Questi contenitori non fanno parte della Libreria Standard C++, ma sono inclusi nella estensione SGI della STL, e sono comunemente incluse come per esempio nella libreria del GNU C++, nel [[namespace ]] <code>__gnu_cxx</code> o nel namespace std_ext di Visual Studio. Potrebbero essere incluse nelle estensioni future dello standard C++.
|}
 
=== Algoritmi ===
Numerosi algoritmi per eseguire operazioni come la ricerca e l'ordinamento sono forniti con la STL.
 
Riga 50:
[[de:Standard Template Library]]
[[en:Standard Template Library]]
[[et:C++ Standard Template Library]]
[[et:CPP-STL]]
[[fr:Standard Template Library]]
[[he:ספריית התבניות התקנית]]