Ejemplo 01: puntero
Tengamos nuestro primer ejemplo para demostrar cómo funciona un puntero constante en la carcasa terminal. Comience por abrir la aplicación de la consola Shell en su distribución de Linux. Puedes usar el atajo "Ctrl+Alt+T" en Ubuntu 20.04 Escritorio para hacerlo. Justo después de abrir el shell, tengamos una creación de un nuevo archivo C ++. Entonces, la consulta de "toque" se usará aquí hasta ahora. Mencione el nombre de un archivo en la instrucción "toque" que desea crear con el ".extensión de CC ”.
Después de crear un archivo, puede abrir fácilmente su archivo desde la carpeta de inicio de su sistema Linux. Para editarlo y actualizarlo dentro del shell, debe utilizar algunos módulos de editor. Si no tiene uno, intente instalar el editor "GNU Nano" o Vim Editor. Como se muestra en la imagen adjunta a continuación, hemos estado utilizando el editor "nano" para abrir el recién hecho "const.comando cc "en el shell.
$ touch const.CC
$ nano const.CC
El archivo se abrirá vacío en el editor GNU Nano. En nuestro primer ejemplo, primero veremos el funcionamiento de una variable de puntero simple para comprender más los punteros constantes. Entonces, agregue las bibliotecas requeridas, yo.mi., encabezado de flujo de entrada de entrada estándar y encabezado STDIO, mediante el uso de la palabra clave "incluir" con un signo hash al inicio. Tienes que definir el espacio de nombres estándar con la palabra "usar". Después de esto, se iniciará el método Main () ya que tenemos que hacer todo el trabajo dentro de él. Además, la compilación y la ejecución comienzan desde aquí. Inicializar una variable entera "A" con un valor entero asignado a ella, yo.mi., 98.
La secuencia "Cout" se usa para mostrar el valor de la variable "A". Después de esto, se ha inicializado un puntero de tipo entero "PTR", apuntando hacia la dirección de la variable entera "A". Debido a este puntero, podemos cambiar la variable "A" ya que ambos no son constantes en este momento. Después de esto, se ha mostrado el puntero "PTR", yo.mi., Dirección de la variable "A". En la siguiente línea, hemos utilizado el operador de incremento para incrementar el valor del valor de la dirección "PTR" del puntero, ya que apunta hacia la dirección de la variable "A".
El puntero "PTR" se ha mostrado una vez más con la ayuda de la transmisión "Cout". La siguiente secuencia de "cout" se usa para mostrar el valor de la variable "A" una vez más, yo.mi., incrementado uno. El código termina aquí. Guarde el código recién creado y deje el editor GNU Nano usando el "Ctrl+S" y "Ctrl+X" desde el teclado.
Recopilaremos este código C ++ recién hecho primero. Use el compilador "G ++" para hacerlo. Si aún no tiene uno instalado en su sistema, intente configurarlo primero. Después de que la compilación tuvo éxito, haga que su código se ejecute usando el "./a.Comando fuera ". Verá, como se ejecutará la primera declaración de "cout", mostrará el valor de una variable "A" I.mi., 98.
Tras la ejecución de un segundo y tercer flujo de "cout", mostró la misma dirección guardada en el puntero "PTR" que apunta hacia la variable "A". El incremento se ha ejecutado en el valor de una variable "A" a través del puntero "PTR". Por lo tanto, tras la ejecución de una cuarta declaración de "cout", el valor de incremento de una variable "A" se ha mostrado en la pantalla terminal.
$ g ++ const.CC
ps ./a.afuera
Ejemplo 02: Puntero constante a Integer
Esto se trataba del puntero simple que apunta hacia una dirección variable. Ahora, echemos un vistazo al ejemplo de usar un puntero de tipo constante para apuntar hacia alguna variable. Como sabemos, la palabra constante significa "sin cambio" cuando se aplica a alguna variable. Entonces, lo usaremos como una variable de puntero para ver cómo se comportará un puntero constante en ciertas situaciones. Por lo tanto, hemos abierto el mismo archivo con el editor "GNU Nano" y actualizamos un poco su código.
La línea de inicialización de un puntero se ha actualizado con la palabra "const" junto con el signo "*" en su inicio. Asegúrese de usarlo después del tipo de datos "INT" dentro de la inicialización de un puntero "CPTR". Luego, hemos utilizado la declaración "Cout" para incrementar el valor de la variable "A" como el puntero "CPTR" está apuntando hacia ella. La siguiente declaración de cout se ha inicializado para incrementar el puntero "CPTR" en sí. Esto causará el error de compilación ya que el "CPTR" en sí es constante. El resto del código se deja sin cambios y se guarda usando el "Ctrl+S".
Cuando hemos compilado el código del constante.archivo cc, nos da el error en la línea 10. Como el puntero era constante, el error establece que el "CPTR" es de solo lectura y no se puede incrementar como se esperaba.
$ g ++ const.CC
Cuando hemos compilado el código, la variable "A" se ha mostrado con su valor original y actualizado. Mientras que la dirección del puntero "CPTR" ha sido la misma y no modificada.
ps ./a.afuera
Ejemplo 03: Puntero constante a constante entero
Dentro de este ejemplo, tomaremos un puntero e entero que señala como constante. Esto significa que ambos no se pueden actualizar. Entonces, abra el mismo archivo para estar actualizado. Hemos inicializado un entero de tipo constante "B" con un valor de 13. Esta variable se ha mostrado a través de la declaración "Cout". Luego, hemos inicializado un puntero de tipo constante "CPTRC" que apunta hacia la variable constante "B" con el signo "&". La cláusula Cout se usa para mostrar el puntero "CPTRC". Después de esto, el valor de la variable constante "B" se incrementará por la variable constante "CPTRC".
En la siguiente línea consecutiva, el puntero "CPTRC" en sí se ha incrementado. Ambas líneas de incremento mostrarán el error en la compilación. Las últimas dos declaraciones de Cout se utilizan para mostrar el valor del valor variable constante y el puntero constante.
Después de compilar el código, tenemos un error en ambas líneas de incremento, yo.mi., 9 y 10.
$ g ++ const.CC
Por lo tanto, en la ejecución del código con la ayuda de un "./a.Out ", tenemos el antiguo resultado del último ejemplo, y el código no ha sido ejecutado.
ps ./a.afuera
Conclusión:
Finalmente, hemos realizado el funcionamiento de variables constantes en C++. Hemos discutido los ejemplos de punteros simples, punteros constantes a enteros y punteros constantes para enteros constantes para mejorar el nivel de comprensión sobre los punteros. Hemos utilizado la declaración de "cout", los operadores de incrementos y los operadores para lograr este objetivo. Esperamos que este artículo sea igualmente beneficioso para los usuarios nuevos y ya experimentados de C ++ en el Ubuntu 20.04 sistema.