Inicialización vectorial de C ++ con todos los ceros

Inicialización vectorial de C ++ con todos los ceros
Inicializar un vector significa dar los elementos prácticos del vector durante la creación. Crear un vector puede ser definición o declaración. La definición es cuando la memoria se asigna para los elementos. La declaración tiene un matiz en su significado: cuando se crea un vector sin asignación de memoria para sus elementos, esa es la declaración. Cuando se crea el vector y la memoria se asigna para sus elementos, eso también es una declaración. En otras palabras, la declaración tiene dos significados y puede significar definición.

El vector es una clase en la biblioteca vectorial que se incluye en el programa. De la misma clase vectorial, se pueden instanciar diferentes objetos vectoriales. La declaración de objeto vectorial sin asignación de memoria para los elementos es instanciación. La declaración de objeto vectorial con la asignación de memoria para los elementos aún es instanciación.

Idealmente, la inicialización se realiza durante la instancia. Sin embargo, cuando la declaración se realiza sin asignación de memoria para los elementos, entonces la inicialización debe hacerse asignando o presionando_back (en), valores iniciales.

Esta información ofrece dos situaciones para la inicialización: inicialización con la creación de vectores como definición o inicialización después de la declaración sin definición por asignación (o empuje_back en).

La creación vectorial se puede clasificar en dos categorías: creación vectorial con elementos y creación vectorial sin elementos. El objetivo de este artículo debe interpretarse como: cómo crear un vector con todos los elementos iniciales como cero. Para tener un vector con todos los elementos cero, el tipo de elementos debe ser int o flotación o sus variantes. Usaremos type int en este artículo.

Inicialización en la creación de vectores con elementos

Creando con inicializer_list

Initializer_list es una lista de valores del mismo tipo separados por comas, y delimitado por aparatos ortopédicos. Hay dos sintaxis para crear un vector con inicializador_list. Las sintaxis son:

vector y operador = (inicializer_list)
y
Vector (Initializer_List, const asignator & = allocator ())

Para crear un vector con todos los ceros, todos los valores en Inicializer_List simplemente deberían ser simplemente ceros. El siguiente programa ilustra esto utilizando la primera sintaxis donde se asigna el objeto vectorial Initializer_List con el operador de asignación:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

vectorvtr = 0, 0, 0, 0, 0;
para (int i = 0; icout<cout<regresar 0;

La salida es:

0 0 0 0 0

En el encabezado del programa, se incluyó la biblioteca vectorial. La declaración vectorial se encuentra en la primera declaración en la función principal. El contenido de vector se muestra en el resto del código en la función principal.

Para la segunda sintaxis, el segundo parámetro es opcional y no se incluirá en el siguiente programa. Para esta segunda sintaxis, el inicializador_list es el argumento de la función de constructor vectorial. El siguiente programa ilustra el uso de la segunda sintaxis:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

vectorvtr (0, 0, 0, 0, 0);
para (int i = 0; icout<cout<regresar 0;

La salida es:

0 0 0 0 0

La entrada fue de cinco ceros, y la salida es las mismas cinco ceros.

Número de elementos vectoriales conocidos de antemano

El número de elementos vectoriales puede conocerse de antemano, pero los elementos reales pueden no conocerse de antemano. En este caso, el vector aún debe inicializarse en ceros. La sintaxis de creación de vectores para esto es:

vector (size_type n, const t & value, const asignator & = allocator ())

El tercer parámetro es opcional y no será parte del siguiente programa. El primer argumento es el número de elementos y el segundo argumento es el valor predeterminado, que en este caso es cero para todos los elementos. El siguiente programa muestra cómo usar esta sintaxis para un tamaño vectorial de 5:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

vectorvtr (5, 0);
para (int i = 0; icout<cout<regresar 0;

La salida es:

0, 0, 0, 0, 0

Inicialización después de la creación vectorial sin elementos

Aquí, se crea un vector vacío antes de la inicialización. La sintaxis para crear un vector vacío es:

vector () noexcept (noexcept (allocator ())): vector (allocator ())

La sintaxis para asignar valores iniciales a un vector con inicializer_list es:

asignación nula (inicializer_list)

El siguiente programa crea un vector vacío y luego asigna ceros a los elementos:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

vectorvtr;
VTR.asignar (0, 0, 0, 0, 0);
para (int i = 0; icout<cout<regresar 0;

La salida es:

0 0 0 0 0

La primera declaración en la función principal crea el vector vacío. La segunda declaración es la inicialización utilizando la función de miembro asignar (). El argumento de la función de miembro asignar () es el inicializador_list con cada elemento en cero.

La sintaxis para asignar valores predeterminados a un vector, cuando el número de elementos se conoce de antemano, es:

asignación void (size_type n, const t & u);

Con esta sintaxis, el primer argumento es el número de elementos en el vector, y el segundo argumento es el valor predeterminado. Para la inicialización con ceros, solo haga el valor predeterminado cero. Recuerde que esto se debe hacer cuando se ha creado un vector vacío. El siguiente programa ilustra esto:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

vectorvtr;
VTR.asignar (5, 0);
para (int i = 0; icout<cout<regresar 0;

La salida es:

0 0 0 0 0

Empujando hacia atrás

Después de que se ha creado un vector vacío, se puede impulsar cualquier número de ceros en el vector para la inicialización como se ilustra en el siguiente programa:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

vectorvtr;
VTR.push_back (0); VTR.push_back (0); VTR.push_back (0);
VTR.push_back (0); VTR.push_back (0);
para (int i = 0; icout<cout<regresar 0;

La salida es:

0 0 0 0 0

Vector de valores de tipo predeterminado e inicialización

Si el número de elementos se conoce por adelantado, entonces sin indicar los valores, los valores predeterminados del tipo serán los valores iniciales. El valor predeterminado para el tipo int es cero. La sintaxis para la creación de dicho vector es:

Vector explícito (size_type n, const allocator & = allocator ())

El segundo argumento es opcional y se puede omitir. El primer argumento es el tamaño del vector. Si el tipo de vector es int, entonces los valores iniciales serán ceros. El siguiente programa ilustra esto:

#incluir
#incluir
usando el espacio de nombres STD;
int main ()

vectorvtr (5);
para (int i = 0; icout<cout<regresar 0;

La salida es:

0 0 0 0 0

Conclusión

El tamaño del vector en todas las muestras de código anteriores es 5. Cualquier otro número se puede usar. Un vector se puede inicializar con todos los ceros de tres formas principales: a) use el inicializador_list, b) use la función de miembro de vector asigne () a un vector vacío (o push_back ()), o c) use int o flotación como plantilla Especialización de parámetros para un vector de valores predeterminados inicialmente solo.