Cómo inicializar una matriz en C ++

En C ++, una variable local no se inicia la vida con un valor válido, ni siquiera el valor 0. Dicho de otra manera, una variable local contiene la basura hasta que realmente almacenar algo en ella. Matrices localmente declarados son iguales - cada elemento contiene la basura hasta que realmente asigna algo a ella.

Usted debe inicializar las variables locales al declararlas. Esta regla es aún más cierto para las matrices. Es demasiado fácil para acceder a elementos de la matriz sin inicializar pensando que son valores válidos.

" Local variable " se refiere a las variables normales declaradas dentro de una función. Puristas C ++ en realidad llaman éstos variables automáticas para diferenciarlos de las variables estáticas.

Afortunadamente, una pequeña matriz puede ser inicializado en el momento en que se declara con una lista de inicialización. El siguiente fragmento de código muestra cómo se hace esto:

flotar floatArray [5] = {0,0, 1,0, 2,0, 3,0, 4,0} -

Esto inicializa floatArray [0] a 0, floatArray [1] a 1,0, floatArray [2] a 2,0, y así sucesivamente.

C ++ rellena la lista de inicialización con 0s si el número de elementos en la lista es menor que el tamaño de la matriz. De hecho, una lista de inicialización del vacío puede utilizarse para inicializar una matriz a 0:

int nArray [128] = {} - // inicializar matriz a los 0 de

El número de constantes de inicialización puede determinar el tamaño de la matriz. Por ejemplo, se podría haber determinado que floatArray tiene cinco elementos simplemente contando los valores dentro de las llaves. C ++ puede contar también (he aquí al menos una cosa C ++ puede hacer por sí mismo).

flotar floatArray [] = {0.0, 1.0, 2.0, 3.0, 4.0} -



» » » » Cómo inicializar una matriz en C ++