Libreria vettoriale C ++ - funzione assign ()

Descrizione

La funzione C ++ std::vector::assign()assegna nuovi valori agli elementi del vettore sostituendo quelli vecchi. Modifica la dimensione del vettore se necessario.

Se l'allocazione della memoria avviene, l'allocazione viene allocata dall'allocatore interno.

Dichiarazione

Di seguito è riportata la dichiarazione per la funzione std :: vector :: assign () nella forma std :: vector header.

C ++ 98

template <class InputIterator>
void assign(InputIterator first, InputIterator last);

C ++ 11

template <class InputIterator>
wvoid assign (InputIterator first, InputIterator last);

Parametri

  • first - Input iteratore alla posizione iniziale nell'intervallo.

  • last - Input iteratore alla posizione finale nell'intervallo.

Valore di ritorno

Nessuna

Eccezioni

Questa funzione membro non genera mai eccezioni. Se il valore di (first, last) non è un indice valido, il comportamento non è definito.

Complessità temporale

Lineare cioè O (n)

Esempio

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

#include <iostream>
#include <vector>

using namespace std;

int main(void) {
   vector<int> v(5, 100);

   cout << "Initial vector contents" << endl;
   for (int i = 0; i < v.size(); ++i)
      cout << v[i] << endl;

   cout << endl;
  
   cout << "Modified vector contents" << endl;
  
   v.assign(v.begin(), v.begin() + 2);
   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 contents
100
100
100
100
100
Modified vector contents
100
100