Como inicializar uma matriz em C ++

Em C ++, uma variável local não começar a vida com um valor válido, nem mesmo o valor 0. Dito de outra forma, uma variável local contém lixo até que você realmente armazenar algo nele. matrizes localmente declarados são os mesmos - cada elemento contém lixo até que você realmente atribuir algo a ele.

Você deve inicializar variáveis ​​locais ao declará-los. Esta regra é ainda mais verdadeiro para matrizes. É muito fácil de acessar os elementos de matriz não inicializadas pensando que eles são os valores válidos.

# 147-Local variável # 148- refere-se às variáveis ​​normais declaradas dentro de uma função. puristas C ++ realmente chamar esses variáveis ​​automáticas para diferenciá-las das variáveis ​​estáticas.

Felizmente, uma pequena matriz pode ser inicializado no momento em que é declarado com uma lista inicializador. O seguinte trecho de código demonstra como isso é feito:

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

Isso inicializa floatArray [0] a 0, floatArray [1] a 1,0, floatArray [2] a 2,0, e assim por diante.

C ++ PADs a lista de inicialização com 0s se o número de elementos na lista é menor do que o tamanho da matriz. Na verdade, uma lista de inicializador vazio pode ser usado para inicializar uma matriz para 0:

int nArray [128] = {} - // inicializa matriz para todos os 0 do

O número de constantes de inicialização pode determinar o tamanho da matriz. Por exemplo, você poderia ter determinado que floatArray tem cinco elementos apenas por contar os valores dentro das chaves. C ++ pode contar também (é aqui pelo menos uma coisa C ++ pode fazer por si mesmo).

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

menu