O que isso significa const int * & var?

Eu vi alguém usando isso

void methodA(const int*& var);

em uma resposta, mas não consegui entender o que o argumento significa.

ATÉ ONDE SEI:

const int var => valor const que não pode ser alterado

const int* var => ponteiro para int que é const ou seja, * var não pode ser alterado, mas var pode ser alterado

const int& var => referência a const int ou seja, o valor de var não pode ser alterado

O queconst int*& var significa e éconst int& *var Também é possível?

Você pode, por favor, dar um exemplo também, como o que pode ser feito e o que não pode ser feito?

ATUALIZAÇÃO:

Não tenho certeza se estou pensando corretamente, mas comecei a pensar em referência como um alias da variável que era passada como argumento, então const int * p; methodA (p) => aqui estamos passando p como const int * mas não sabemos se isso é passado por valor ou o que até vermos a definição do método A,

então se methodA é como este methodA (const int * & p2) ==> aqui p2 é outro nome para p, ie p e p2 são os mesmos a partir de agora e se methodA (const int * p2) ==> aqui p2 é passado como valor, ou seja, p2 é apenas local para este método,

por favor me corrija se eu estiver pensando errado? Se sim, talvez precise estudar mais sobre isso? Você pode por favor apontar algumas boas referências?

UPDATE 2 Se algum novato como eu quiser saber mais sobre isso, você pode usarc ++ decl / programa cdecl, que eu acabei de descobrir muito útil deAqui

$ 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

Mas como todos aqui apontaram, o primeiro exemplo não é legal em C ++.

obrigado

questionAnswers(4)

yourAnswerToTheQuestion