Confusión sobre los vectores

Confusión sobre los vectores

Esta declaración

vector <int> lotteryNumVect(10);

declara un vector con 10 elementos inicializados por ceros.

Ahí se usa el constructor

explicit vector(size_type n, const Allocator& = Allocator());

El segundo parámetro del constructor tiene un argumento predeterminado, por lo que puede llamar al constructor especificando solo la cantidad de elementos que se crearán en un vector.

Estas declaraciones

lotteryNumVect.insert(lotteryNumVect.begin(), lotteryNumArray,
                      lotteryNumArray + 3);

inserta al comienzo del vector 3 elementos de la matriz.

Entonces, como resultado, el vector se verá como

4, 13, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 

Explicación

  1. Declaración vector <int> lotteryNumVect(10); :

    Este es un ejemplo del uso de constructor. Según cplusplus:

    Entonces, vector <int> lotteryNumVect(10); inicializa el vector con diez ceros (ver (1) arriba). vector <int> lotteryNumVect(5, 2); inicializaría el vector con cinco doses (ver (2) arriba). Puede consultar el ejemplo aquí para comprenderlo mejor.

  2. Declaración lotteryNumVect.insert(lotteryNumVect.begin(), lotteryNumArray, lotteryNumArray + 3); :

    Esta inserción en realidad a través de iteradores. Mira esto:

    El término lotteryNumVect.begin() en realidad apunta el primer elemento de lotteryNumVect (ver vector::begin()). Mientras que lotteryNumArray y lotteryNumArray+3 señala respectivamente el primer y el tercer elemento del lotteryNumArray matriz. Entonces, básicamente lotteryNumVect.insert(lotteryNumVect.begin(), lotteryNumArray, lotteryNumArray + 3); inserta los tres primeros elementos del lotteryNumArray al principio del vector lotteryNumVect .

Más lecturas sobre std::vector

  • cpluscplus
  • cpppreferencia
  • Geeks para Geeks

Cómo navegar en cplusplus:

  • Encabezado:cplusplus.com/reference/<type header name here>
    Ejemplo:cplusplus.com/reference/iostream/
  • Función/Contenedor/Palabra clave:cplusplus.com/reference/<the header which contains it>/<function/container/keyword name>
    Ejemplo:cplusplus.com/reference/iostream/cin/
  • Variable/función miembro:cplusplus.com/reference/<the header which contains it>/<function/container/keyword name>/<member variable/function name>/
    Ejemplo:cplusplus.com/reference/string/string/size/

Alternativamente, puedes buscarlo en Google. En lo cual, obtendrá los tres sitios en su resultado de búsqueda y quizás un resultado mucho mejor.


Vayamos paso a paso

vector<int> lotteryNumVect(10);
  • Crea un vector de int s. Establezca el tamaño en 10.
lotteryNumVect.insert(lotteryNumVect.begin(), // Place to insert stuff
                      lotteryNumArray,        // Pointer to start of thing to insert
                      lotteryNumArray + 3);   // Pointer to end of stuff to insert
  • Inserte las primeras 3 cosas en lotteryNumArray en lotteryNumVect