La construcción de matrices constantes en c ++

Si usted tiene una matriz y no desea que su contenido para cambiar, puede que sea una matriz constante. Las siguientes líneas de código, que se encuentran en el Array05 ejemplo, demuestran este enfoque:

const int Permanente [5] = {1, 2, 3, 4, 5} -cout lt; lt; Permanente [1] lt; lt; endl-

Este conjunto funciona como cualquier otra matriz, excepto que no puede cambiar los números en su interior. Si se agrega una línea como la siguiente línea, se obtiene un error de compilación, porque el compilador es consciente de las constantes:

Permanente [2] = 5-

Aquí está el error que se obtiene cuando intenta esto en Code :: Blocks:

Video: Video tutorial de Matriz en C++ - Aprende con youtube

de error: asignación de sólo lectura ubicación `Permanente [2]`

¿Qué pasa con una matriz constante de nonconstants? ¿Puedes hacer eso? Bueno, a veces - dependiendo del compilador. Tan horrible como el siguiente código (que se encuentra en el Array06 ejemplo) parece - y no es estándar ANSI! - se le permite hacer esto con las versiones anteriores de los compiladores gcc. (Microsoft Visual C ++ y Borland C ++ Builder no lo permiten, y el Código :: Blocks compilador que presenta con una error: inválido asignación array mensaje de error.)

int no constante [5] = {1, 2, 3, 4, 5} -INT otralista [5] = {10, 11, 12, 13, 14} -OtherList = NonConstant-

En otras palabras, que la tercera línea está diciendo, “olvidar lo otralista a- señala en su lugar, hacer que apunte a la primera matriz, {1,2,3,4,5}!" Ahora tu De Verdad no debe escribir código como este (recuerda, mantener las cosas simples y comprensibles), por lo que si desea evitar que este tipo de cosas, puede hacer que la constante de matriz:

const int no constante [5] = {1, 2, 3, 4, 5} -const int otralista [5] = {10, 11, 12, 13, 14} -OtherList = NonConstant-

Ahora, cuando el compilador llega a la tercera línea, que le da un error:

de error: asignación de variable de solo lectura `otralista`

Video: Suma de matrices en Lenguaje C

Sin embargo, es posible que observe que la forma en que usted hizo la constante de matriz era de la misma manera que usted hizo sus elementos constantes en el código que se produjo justo antes de este ejemplo. ¡Huy! ¿De que va todo eso? Resulta que hay algunas reglas.

La siguiente lista describe las reglas, en detalle, para la fabricación de matrices constantes:

  • Si desea realizar una constante de matriz, puede preceder a su tipo con la palabra const. Al hacerlo, el nombre de la matriz es constante, y los elementos dentro de la matriz son además constante. Por lo tanto no se puede tener una matriz constante con elementos no constantes, ni se puede tener una matriz no constante con elementos constantes.

  • La noción de una array no constante sólo existe en gcc y no es estándar ANSI.

Si usted realmente desea conseguir técnico, el estándar ANSI C ++ dice que cuando se pone la palabra const frente a una declaración de matriz, usted no está haciendo la matriz constante- que está diciendo que la matriz contiene únicas constantes.

Video: Declarar y recorre una matriz c++

Sin embargo, cuando se utiliza const De esta manera, la mayoría de los compiladores también hacen que la propia matriz constante. Pero eso es la gente Fine- no deberían estar tomando un nombre de matriz y copiarla en otra cosa. Eso no es un buen estilo de programación, y que sólo está pidiendo insectos - o, al menos, confusión - más tarde.

Artículos Relacionados