Biblioteca de vectores de C ++ - función asignar ()

Descripción

La función C ++ std::vector::assign()asigne nuevos valores a los elementos vectoriales reemplazando los antiguos. Modifica el tamaño del vector si es necesario.

Si ocurre la asignación de memoria, la asignación es asignada por el asignador interno.

Declaración

A continuación se muestra la declaración de la función std :: vector :: assign () del encabezado std :: vector.

C ++ 98

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

C ++ 11

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

Parámetros

  • first - Ingrese el iterador a la posición inicial en el rango.

  • last - Ingrese el iterador a la posición final en el rango.

Valor devuelto

Ninguna

Excepciones

Esta función miembro nunca lanza una excepción. Si el valor de (primero, último) no es un índice válido, entonces el comportamiento no está definido.

Complejidad del tiempo

Lineal es decir O (n)

Ejemplo

El siguiente ejemplo muestra el uso de la función 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;
}

Compilemos y ejecutemos el programa anterior, esto producirá el siguiente resultado:

Initial vector contents
100
100
100
100
100
Modified vector contents
100
100