La palabra clave const en C++
-
Declarando Variables
Const
en C++ -
Usar la
const
con punteros en C++ -
Variable puntero a variable
const
en C++ -
la variable de puntero
const
a un valor en C++ -
la variable puntero
const
a la variableconst
en C++ -
la función miembro
const
y el objetoconst
en C++
La palabra clave const
, que significa Constante en C++, se usa para hacer que un valor o valores específicos sean constantes en todo el programa.
Una vez declarada estable una variable/objeto/función
, el compilador no dejará que el programador modifique el valor asignado durante el resto del programa.
Asegura que el programa se ejecute sin interrupciones durante su ejecución. Si el programador intenta cambiar el valor más tarde, el compilador mostrará un error de compilación.
La principal ventaja de la const
es que permite que un valor o valores específicos sean constantes a lo largo de todo el programa. Como se mencionó anteriormente, también permitirá que el compilador realice optimizaciones específicas que de otro modo no serían posibles.
La palabra clave const
se puede usar de diferentes maneras específicas en un programa para abordar diferentes necesidades de programación.
Declarando Variables Const
en C++
Al hacer que una variable sea constante, la variable siempre debe inicializarse mientras se declara. Después de decir la variable, es imposible cambiar su valor en una parte diferente del código.
Para declarar una variable como constante;
const int x = 1;
Usar la const
con punteros en C++
Hay tres formas de usar la palabra clave const
con punteros.
- Variable puntero al valor
const
. - La variable puntero
const
a un valor. - El puntero
const
a una variableconst
.
Variable puntero a variable const
en C++
Significa que el puntero está apuntando a una variable constante
, podemos usar el valor de la variable a la que apunta el puntero, pero no podemos cambiar el valor de la variable usando el puntero.
const int* y;
Es beneficioso cuando se hace inmutable una cadena o una matriz.
la variable de puntero const
a un valor en C++
Aquí el puntero es una constante, pero el valor del puntero no es constante; por lo tanto, es posible cambiar su valor.
Además, aunque cambiamos el valor, no podemos cambiar la ubicación de memoria del puntero. Es esencial cuando el almacenamiento cambia su valor pero no su ubicación en la memoria.
int z = 2;
const int* y = &z;
la variable puntero const
a la variable const
en C++
Después de asignar los valores en esta situación, es imposible cambiar la variable del puntero o el valor de la variable al que apunta el puntero.
int i = 3 const int* const j = &i;
la función miembro const
y el objeto const
en C++
C++ es un lenguaje de programación orientado a objetos, y hay casos en los que un objeto creado no está destinado a ningún cambio buscado durante ninguna parte del programa.
Por lo tanto, hacer que un objeto sea constante usando la palabra clave const
puede ser muy útil para situaciones como esta. Si se necesita declarar un objeto como const
, debe inicializarse en el momento de la declaración.
Después de inicializar el objeto, es imposible cambiar cualquiera de las dimensiones dadas al objeto durante el resto del programa.
El compilador arrojará un error de compilación. Aquí hay un ejemplo de un objeto const
.
#include <iostream>
using namespace std;
class length {
public:
int x;
length(int y) { x = y; }
};
int main() {
const length obj1(15);
cout << "The length of object 1 is " << obj1.x << endl;
return 0;
}
Producción :
The length of object 1 is 15
Cuando se declara una función seguida de const
, se crea una función constante. Se utiliza principalmente con objetos const
.
Es importante tener en cuenta que si se llama a una función miembro a través de un objeto const
, el compilador arrojará un error independientemente de si la función miembro pretendía cambiar el objeto o no.
Aquí hay un ejemplo de una función miembro const
.
#include <iostream>
using namespace std;
class length {
public:
int x;
length(int y) { x = y; }
int getvalue() const { return x; }
};
int main() {
const length obj1(15);
cout << "The length of object 1 is " << obj1.getvalue() << endl;
return 0;
}
Producción :
The length of object 1 is 15
El punto de const
es que no permite modificar cosas que no deberían modificarse.
Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.