Was bedeutet das const int * & var?

Ich habe jemanden gesehen, der das benutzt hat

void methodA(const int*& var);

in einer Antwort, konnte aber nicht verstehen, was das Argument bedeutet.

SO VIEL ICH WEISS:

const int var => konstanter Wert, der nicht geändert werden kann

const int* var => Zeiger auf int, der const ist, d. h. * var kann nicht geändert werden, var kann jedoch geändert werden

const int& var => Verweis auf const int, dh der Wert von var kann nicht geändert werden

Was machtconst int*& var bedeuten und istconst int& *var auch möglich?

Kannst du bitte auch ein Beispiel geben, was man damit machen kann und was nicht?

UPDATE:

Ich bin mir nicht sicher, ob ich richtig denke, aber ich fing an, die Referenz als Alias ​​der Variablen zu verstehen, die als Argument übergeben wurde, also const int * p; methodA (p) => hier übergeben wir p als const int *, aber wir wissen nicht, ob dies als Wert übergeben wird oder was, bis wir die Definition von Methode A sehen,

also wenn methodA wie folgt ist methodA (const int * & p2) ==> hier ist p2 ein anderer name für p, dh p und p2 sind ab jetzt gleich und wenn methodA (const int * p2) ==> hier wird p2 übergeben als Wert ist also p2 nur lokal für diese Methode,

Bitte korrigieren Sie mich, wenn ich falsch denke. Wenn ja, muss ich vielleicht mehr darüber lernen? Können Sie bitte einige nette Referenzen nennen?

UPDATE 2 Wenn ein Anfänger wie ich mehr über diese Sache wissen möchte, können Sie verwendenc ++ decl / Cdecl-Programm, was ich gerade als sehr nützlich herausgefunden habeHier

$ 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

Aber wie jeder hier gezeigt hat, ist das erste Beispiel in C ++ nicht legal.

Vielen Dank

Antworten auf die Frage(4)

Ihre Antwort auf die Frage