Tracce
/
C++
C++
/
Programma
/
Array e vector
Ar

Array e vector in C++

3 esercizi

Informazioni su Array e vector

Array e vector

C++ offre diversi contenitori per memorizzare elementi dello stesso tipo in modo ordinato. Esiste std::array per i contenitori di dimensione fissa e std::vector, che offre la capacità di ridimensionarsi dinamicamente.

Costruzione

Quando dichiari un array o un vector, devi specificare il tipo di elementi che il contenitore conterrà. Gli array richiedono anche una dimensione. Guarda questi esempi per vedere come si inizializzano i due tipi di contenitore:

#include <array>
#include <string>

// std::array<element_type, size> variable_name {list of elements}
std::array<std::string, 3> indie_rock {"yeah", "yeah", "yeah"};
// indie_rock contains the elements "yeah" three times

I vector di solito richiedono più spazio, perché allocano memoria per crescere ulteriormente. Non devi specificare una dimensione:

#include <vector>

// std::vector<element_type> variable_name {list of elements}
std::vector<int> countdown {3, 2, 1};
// my_vector contains the elements 3, 2 and 1

Nota: per ora non devi conoscere i meccanismi esatti che stanno dietro ai template: ci sarà un concetto dedicato più in basso nell'albero del percorso.

Accesso agli elementi

I vector e gli array condividono le stesse funzioni per accedere ai loro elementi. Puoi usare le funzioni membro front e back per ottenere il primo e l'ultimo elemento del contenitore. Ci sono anche at e l'operatore [] per accedere a elementi specifici.

countdown[0];
// => 3
countdown.at(2);
// => 1
countdown[1] = 4;
// countdown now contains 3, 4 and 1
indie_rock.back() = "yeahs";
// indie_rock is now "yeah", "yeah", "yeahs"

Nota: se scegli una posizione che non rientra nell'intervallo del contenitore, [] può portare a un comportamento indefinito. La funzione at solleverebbe un'eccezione, il che a lungo termine potrebbe semplificarti la vita.

Modificatori dei vector

Dato che un vector non ha dimensione fissa, è possibile aggiungere o rimuovere elementi. Due funzioni comuni a questo scopo sono emplace_back e pop_back.

std::vector<std::string> witches {"Holly", "Alyssa", "Shannen"};
witches.pop_back();
// Shannen is no longer with the witches
witches.emplace_back("Rose");
// Rose has joined the team

Capacità

Puoi verificare se un contenitore è vuoto con la funzione membro empty. Per conoscere il numero di elementi, puoi usare size.

Modifica tramite GitHub Il collegamento si apre in una nuova finestra o scheda

Impara Array e vector

La pratica è bloccata

Sblocca 4 altri esercizi per esercitarti su Array e vector