¿Qué significa Const?
const
Significado básico
n.Constante; estructura; construcción de aleación de cobre y níquel; >En lenguaje C
el modificador constante puede convertir un objeto en un objeto constante. ¿Qué significa?
Esto significa que el valor de una variable modificada con const ya no se puede modificar en ninguna parte del programa y se puede usar como una constante.
El método de uso es:
const int a=1; //Aquí se define una variable constante constante a de tipo int
Pero en cuanto a los punteros; Decir que const todavía funciona, hay dos puntos a los que se debe prestar especial atención, ¡porque los dos problemas siguientes se confunden fácilmente!
Echemos un vistazo al siguiente ejemplo: //Autor del programa: Guan Ning
//Sitio: www.cndev-lab.com
// Todos Todos los manuscritos tienen derechos de autor. Si desea reimprimir, asegúrese de citar la fuente y el autor conocidos
#include usando el espacio de nombres void main(void) { const int a=10 int b=20; int *pi; pi=a; cout <<*pi << "|" << a <<endl; cout < <*pi << "|" <<b <<endl; cin.get() } Lo más importante en el código anterior Una oración es const int *pi Esta oración se lee desde la derecha: pi es un puntero a un objeto de tipo int que se define como const Tal La función del método de declaración es que la dirección de memoria apuntada por el puntero pi se puede modificar, pero el valor apuntado al objeto no se puede modificar. Si agrega *pi=10 después del código, ¡no se permite compilar tales operaciones de asignación! Bien, después de leer los dos ejemplos anteriores, tienes una comprensión básica de const, ¡así que veamos un uso que es fácilmente confuso! Consulte el siguiente código //Autor del programa: Guan Ning //Sitio: www.cndev-lab.com //Todos los manuscritos están incluidos Copyright, si desea reimprimir, asegúrese de citar la fuente y el autor famosos #include using namespace std void main; (nulo) { int a=10 const int *const pi=a cout <<*pi; << "|" < <a <<endl; cin.get(); } La oración más importante en el código anterior es const int *const pi p> Esta oración se lee desde la derecha: pi es un puntero constante que apunta a un objeto de tipo int El efecto de dicho método de declaración es; que tampoco puedes modificar el objeto señalado por pi. La dirección de memoria del objeto no se puede modificar eliminando la referencia al puntero, es decir, usando *pi=10 Entonces, si agregas *pi=20 en; Al final, prueba esto. ¡Modificar el valor del objeto a de esta manera no está permitido compilar! Entonces, combinado con los dos puntos anteriores, después de modificar el código al siguiente formulario, definitivamente puede modificar el valor del objeto a o la dirección del puntero pi en cualquier parte del programa. A menudo se utiliza como parámetro formal de una función, lo que garantiza que el objeto no cambiará su valor dentro de la función. //Autor del programa: Guan Ning //Sitio: www.cndev-lab.com //Todos los manuscritos tienen derechos de autor si desea reimprimir, asegúrese de indicar la fuente. y el autor son bien conocidos #include usando el espacio de nombres std void main(void) { const int a=10; //Esta oración es diferente a la anterior, ¡presta atención! const int *const pi=a; cout <<*pi << "|" <<a <<endl cin.get( }