parent nodes: STLapuntes

Vector

* Tamaño variable
* Mismo tipo de elementos
* No tiene control de rango, si pedimos algo más allá de su límite devolverá vacío o basura


struct Entry {
    string name;
    int number;
};

Entry phone_book[1000];  //array. 1000 posiciones se usen o no. No se puede ampliar a + de 1000

void print_entry(int i) // simple use Array
{
    cout << phone_book[i].name << ' ' << phone_book[i].number << '\n';
}


vector<Entry> phone_book(1000);  //vector. Tamanyo inicial, puede ampliarse con add_entries

void print_entry(int i) //simple use, exactly as for array
{
    cout << phon_book[i].name << ' ' << phone_book[i].number << '\n';
}

void add_entries(int n) //increase size by n
{
    phone_book.resize(phone_book.size() + n);
}
OJO! Es un error típico, por suerte es detectado por el compilador:
vector<Entry> phone_book(1000); // Vector de 1000 elementos
vector<Entry> phone_book[1000]; // Array de 1000 vectores vacíos




VectorEjemplo