GeeksforGeeks

int const*

int const* es puntero a constante integer
Esto significa que la variable está declarada es un puntero que apunta a una constante entero. Efectivamente, esto implica que el puntero apunta a un valor que no debe cambiarse. El calificador Const no afecta al puntero en este escenario, por lo que el puntero puede apuntar a otra dirección.
La primera palabra clave const puede ir a ambos lados del tipo de datos, por lo que int const* es equivalente a const int*.

int *const

int *const es una constante puntero a entero

Esto significa que la variable está declarada es un puntero constante que apunta a un entero. Efectivamente, esto implica que el puntero no debe apuntar a otra dirección. El calificador Const no afecta el valor del entero en este escenario, por lo que el valor que se almacena en la dirección puede cambiar.

const int* const

const int* const es un puntero constante a constant integer

Esto significa que la variable está declarada es un puntero constante que apunta a una constante entero. Efectivamente, esto implica que un puntero constante apunta a un valor constante. Por lo tanto, ni el puntero debe apuntar a una nueva dirección ni el valor al que se apunta debe cambiarse.
La primera palabra clave const puede ir a ambos lados del tipo de datos, por lo que const int* const es equivalente a int const* const.

Mapa de memoria

Una forma de recordar la sintaxis (de acuerdo con Bjarne Stroustrup) es la regla espiral-
La regla dice, comience desde el nombre de la variable y muévase en el sentido de las agujas del reloj al siguiente puntero o tipo. Repita hasta que finalice la expresión.

La regla también se puede ver como decodificando la sintaxis de derecha a izquierda.

por lo tanto,

  • int const* es puntero const int
  • int *const es puntero const int
  • const int* const es puntero const a const int

Usando esta regla, incluso el complejo de declaraciones puede ser decodificado como,

  • int ** const es una constante de puntero a puntero a int.
  • int * const * es un puntero a const puntero a un int.
  • int const * * es un puntero a un puntero a un const int.
  • int * const * const es una constante de puntero a un puntero const int.

¡Atención al lector! No dejes de aprender ahora. Obtenga todos los conceptos importantes de C++ Foundation y STL con los cursos C++ Foundation y STL a un precio asequible para los estudiantes y prepárese para la industria.

Etiquetas De Artículo :

C

Práctica De Etiquetas :

Deja una respuesta

Tu dirección de correo electrónico no será publicada.