standard template library
Una panoramica completa della libreria di modelli standard (STL):
Standard Template Library (STL) di C ++ è una raccolta di classi template che forniscono strutture di dati come array, vettori, code, ecc. STL è una libreria composta da contenitori, algoritmi e iteratori.
Poiché STL è costituito da una raccolta di classi di modelli, si tratta di una libreria generalizzata indipendente dai tipi di dati.
=> Leggi qui la vasta serie di tutorial di formazione C ++.
Cosa imparerai:
big data come società di servizi
Componenti di STL
STL consiste principalmente dei seguenti componenti che sono menzionati di seguito:
# 1) Contenitori
Un contenitore è una raccolta di oggetti di un particolare tipo di struttura dati. In STL, abbiamo vari tipi di classi container come Array, vector, queue, deque, list, map, set, ecc. Questi container sono di natura generica e sono implementati come modelli di classe.
I contenitori sono di natura dinamica e possono essere utilizzati per contenere vari tipi di oggetti.
# 2) Algoritmi
Gli algoritmi sono i metodi o le funzioni che agiscono sui contenitori. Utilizzando algoritmi forniti da STL, possiamo avere metodi per cercare, ordinare, modificare, trasformare o inizializzare il contenuto degli oggetti della classe contenitore.
Gli algoritmi forniti da STL hanno funzioni integrate che possono operare direttamente su strutture dati complesse invece di dover scrivere noi stessi gli algoritmi.
Per esempio, La funzione reverse () in AWL può essere utilizzata per invertire l'elenco collegato.
# 3) Iteratori
Gli iteratori sono la caratteristica molto importante e distintiva di STL. Gli iteratori sono i costrutti utilizzati per attraversare gli oggetti contenitore. Simili agli indici che utilizziamo per scorrere gli array, gli iteratori agiscono sugli oggetti della classe contenitore e possono essere utilizzati per scorrere i dati.
Contenitori
I contenitori archiviano oggetti e dati. Sono fondamentalmente classi generiche basate su modelli.
domande di intervista webdriver selenio per 4 anni di esperienza
I contenitori in STL sono suddivisi nelle seguenti tipologie:
# 1) Contenitori sequenziali
I contenitori a cui è possibile accedere in modo sequenziale o lineare sono detti contenitori sequenziali.
Arrays, Vectors, Lists, Deques sono i contenitori STL che memorizzano i dati in modo lineare e sono accessibili in modo sequenziale.
# 2) Contenitori associativi
I contenitori associativi sono contenitori che implementano strutture di dati ordinate. Questi contenitori sono veloci da cercare. Alcuni dei Esempi dei contenitori associativi sono Map, Set, MultiMap, Multiset, ecc. Questi contenitori sono solitamente implementati in un modo di coppia chiave / valore.
# 3) Adottatori di container
I container adottanti sono contenitori sequenziali, tuttavia, vengono implementati fornendo un'interfaccia diversa. Pertanto i contenitori come una coda, una rimozione dell'accumulatore, uno stack e una coda di priorità sono tutti classificati come adottanti del contenitore.
Iteratori
Gli iteratori sono costrutti che usiamo per attraversare o scorrere i contenitori in STL. Gli iteratori sono molto importanti in STL in quanto fungono da ponte tra algoritmi e contenitori. Gli iteratori puntano sempre ai contenitori e infatti gli algoritmi in realtà operano su iteratori e mai direttamente sui contenitori.
Gli iteratori sono dei seguenti tipi:
- Iteratori di input: È il più semplice e viene utilizzato principalmente negli algoritmi a passaggio singolo.
- Iteratori di output: Uguale agli iteratori di input ma non utilizzato per l'attraversamento.
- Iteratori bidirezionali: Questi iteratori possono muoversi in entrambe le direzioni.
- Iteratori in avanti: Può essere utilizzato solo in avanti, un passo alla volta.
- Iteratori ad accesso casuale: Uguale ai puntatori. Può essere utilizzato per accedere a qualsiasi elemento in modo casuale.
Algoritmi
Gli algoritmi sono un insieme di funzioni o metodi forniti da STL che agiscono sui contenitori. Queste sono funzioni integrate e possono essere usate direttamente con i contenitori e gli iteratori STL invece di scrivere i nostri algoritmi.
STL supporta i seguenti tipi di algoritmi:
- Algoritmi di ricerca
- Algoritmi di ordinamento
- Modifica o manipolazione di algoritmi
- Algoritmi non modificanti
- Algoritmi numerici
- Algoritmi Min / Max
Come suggerisce ciascuno dei tipi di algoritmo, questi algoritmi possono essere utilizzati per ottenere diverse funzionalità nei contenitori STL come la ricerca, l'ordinamento, la trasformazione dei dati nei contenitori, la ricerca del valore minimo / massimo, ecc.
Conclusione
Questa è la breve introduzione della libreria di modelli standard. Nei nostri prossimi tutorial, impareremo di più su ciascuno dei contenitori, algoritmi e iteratori.
=> Controlla qui la serie completa di formazione GRATUITA C ++.