¿Qué significa esto const int * & var?

Vi a alguien usando esto

void methodA(const int*& var);

en una respuesta, pero no podía entender lo que significa el argumento.

HASTA DONDE SE:

const int var => valor constante que no se puede cambiar

const int* var => puntero a int que es const i.e * var no se puede cambiar pero var se puede cambiar

const int& var => referencia a const int, es decir, el valor de var no se puede cambiar

Que haceconst int*& var significa, y esconst int& *var ¿también es posible?

¿Puede por favor dar algún ejemplo también, como qué se puede hacer y qué no se puede hacer con él?

ACTUALIZACIÓN:

No estoy seguro de si estoy pensando correctamente, pero comencé a pensar la referencia como alias de la variable que se pasó como argumento, así que const int * p; methodA (p) => aquí estamos pasando p como const int * pero no sabemos si esto se pasa por valor o hasta que vemos la definición del método A,

así que si methodA es como este methodA (const int * & p2) ==> aquí p2 es otro nombre para p, es decir, p y p2 son iguales a partir de ahora y si methodA (const int * p2) ==> aquí se pasa p2 como valor es decir, p2 es simplemente local a este método,

Por favor, corrígeme si estoy pensando mal. Si es así, ¿podría necesitar estudiar un poco más sobre esto? ¿Puedes por favor señalar algunas buenas referencias?

ACTUALIZACIÓN 2 Si algún principiante como yo quiere saber más sobre esto, puedes usarc ++ decl / programa cdecl, que acabo de descubrir muy útil desdeaquí

$ c++decl
Type `help' or `?' for help
c++decl> explain const int&* p
declare p as pointer to reference to const int
c++decl> explain const int*& p
declare p as reference to pointer to const int

Pero como todos señalamos aquí, el primer ejemplo no es legal en C ++.

Gracias

Respuestas a la pregunta(4)

Su respuesta a la pregunta