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} -