Compartir a través de


vector::vector

Construye un vector de un tamaño determinado o con elementos de un valor determinado o con un asignador específico o como una copia de todo o de parte de algún otro vector. Los elementos se almacenan en un bloque de memoria contiguo y las asignaciones de memoria se administran mediante el asignador predeterminado o un asignador personalizado que usted proporcione.

vector( );  explicit vector(     const Allocator& Al ); explicit vector(     size_type Count ); vector(     size_type Count,     const Type& Val ); vector(     size_type Count,     const Type& Val,     const Allocator& Al ); vector(     const vector& Right );  vector(     vector&& Right ); vector(     initializer_list<Type> IList,     const _Allocator& Al ); template<class InputIterator>     vector(         InputIterator First,         InputIterator Last     ); template<class InputIterator>     vector(         InputIterator First,         InputIterator Last,         const Allocator& Al     ); 

Parámetros

Parámetro

Descripción 

Al

La clase de asignador que se usa con este objeto. get_allocator devuelve la clase de asignador del objeto.

Count

Número de elementos del vector construido.

Val

Valor de los elementos del vector construido.

Right

Vector del que el vector construido va a ser una copia.

First

Posición del primer elemento en el intervalo de elementos que se va a copiar.

Last

Posición del primer elemento más allá del intervalo de elementos que se va a copiar.

IList

initializer_list que contiene los elementos que se van a copiar.

Comentarios

Todos los constructores almacenan un objeto de asignador (Al) e inicializan el vector.

Los dos primeros constructores especifican un vector inicial vacío. El segundo especifica explícitamente el tipo de asignador (Al) que se va a utilizar.

El tercer constructor especifica una repetición de un número especificado (Count) de elementos del valor predeterminado para la clase Type.

Los constructores cuarto y quinto especifican una repetición de elementos (Count) de valor Val.

El sexto constructor especifica una copia del vector Right.

El séptimo constructor mueve el vector Right.

El octavo constructor utiliza una initializer_list para especificar los elementos.

Los constructores noveno y décimo copian el intervalo [First, Last) de un vector.

Ejemplo

// vector_ctor.cpp
// compile with: /EHsc
#include <vector>
#include <iostream>

int main()
{
    using namespace std;
    vector <int>::iterator v1_Iter, v2_Iter, v3_Iter, v4_Iter, v5_Iter, v6_Iter;

    // Create an empty vector v0
    vector <int> v0;

    // Create a vector v1 with 3 elements of default value 0
    vector <int> v1(3);

    // Create a vector v2 with 5 elements of value 2
    vector <int> v2(5, 2);

    // Create a vector v3 with 3 elements of value 1 and with the allocator 
    // of vector v2
    vector <int> v3(3, 1, v2.get_allocator());

    // Create a copy, vector v4, of vector v2
    vector <int> v4(v2);

    // Create a new temporary vector for demonstrating copying ranges
    vector <int> v5(5);
    for (auto i : v5) {
        v5[i] = i;
    }

    // Create a vector v6 by copying the range v5[_First, _Last)
    vector <int> v6(v5.begin() + 1, v5.begin() + 3);

    cout << "v1 =";
    for (auto& v : v1){
        cout << " " << v;
    }
    cout << endl;

    cout << "v2 =";
    for (auto& v : v2){
        cout << " " << v;
    }
    cout << endl;

    cout << "v3 =";
    for (auto& v : v3){
        cout << " " << v;
    }
    cout << endl;
    cout << "v4 =";
    for (auto& v : v4){
        cout << " " << v;
    }
    cout << endl;

    cout << "v5 =";
    for (auto& v : v5){
        cout << " " << v;
    }
    cout << endl;

    cout << "v6 =";
    for (auto& v : v6){
        cout << " " << v;
    }
    cout << endl;

    // Move vector v2 to vector v7
    vector <int> v7(move(v2));
    vector <int>::iterator v7_Iter;

    cout << "v7 =";
    for (auto& v : v7){
        cout << " " << v;
    }
    cout << endl;

    vector<int> v8{ { 1, 2, 3, 4 } };
    for (auto& v : v8){
        cout << " " << v ;
    }
    cout << endl;
}
  

Requisitos

Encabezado: <vector>

Espacio de nombres: std

Vea también

Referencia

vector (Clase)

Biblioteca de plantillas estándar