C ++ Vector Library - funzione resize ()

Descrizione

La funzione C ++ std::vector::resize()cambia la dimensione del vettore. Se n è inferiore alla dimensione corrente, gli elementi aggiuntivi vengono distrutti.

Se n è maggiore della dimensione del contenitore corrente, i nuovi elementi vengono inseriti alla fine del vettore.

Se viene specificato val, i nuovi elementi vengono inizializzati con val.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione std :: vector :: resize () nel modulo std :: vector header.

C ++ 98

void resize (size_type n, value_type val = value_type());

C ++ 11

void resize (size_type n);
void resize (size_type n, const value_type& val);

Parametri

  • n - Nuova dimensione del contenitore.

  • val - Valore iniziale per elementi contenitore.

Valore di ritorno

Nessuna.

Eccezioni

Se la riallocazione fallisce, viene generata l'eccezione bad_alloc .

Complessità temporale

Lineare cioè O (n)

Esempio

L'esempio seguente mostra l'utilizzo della funzione std :: vector :: resize ().

#include <iostream>
#include <vector>

using namespace std;

int main(void) {
   vector<int> v;

   cout << "Initial vector size = " << v.size() << endl;

   v.resize(5, 10);
   cout << "Vector size after resize = " << v.size() << endl;

   cout << "Vector contains following elements" << endl;
   for (int i = 0; i < v.size(); ++i)
      cout << v[i] << endl;

   return 0;
}

Compiliamo ed eseguiamo il programma sopra, questo produrrà il seguente risultato:

Initial vector size = 0
Vector size after resize = 5
Vector contains following elements
10
10
10
10
10