Что это значит const int * & var?
Я видел, кто-то использует это
void methodA(const int*& var);
в одном ответе, но не мог понять, что означает аргумент.
НАСКОЛЬКО МНЕ ИЗВЕСТНО:
const int var
=> const value which can't be changed
const int* var
=> pointer to int which is const i.e *var can't be changed but var can be changed
const int& var
=> reference to const int i.e value of var can't be changed
Что значитconst int*& var
значит, и естьconst int& *var
тоже возможно?
Не могли бы вы также привести пример, например, что можно сделать и что нельзя с этим сделать?
ОБНОВИТЬ :
Я не уверен, правильно ли я думаю, но я начал воспринимать ссылку как псевдоним переменной, передаваемой в качестве аргумента, поэтому const int * p; methodA (p) = & gt; здесь мы передаем p как const int *, но мы не знаем, является ли это передачей по значению или что, пока мы не увидим определение метода A,
так что, если methodA так methodA (const int * & amp; p2) == & gt; здесь p2 - это другое имя для p, то есть p и p2 теперь одинаковы и если methodA (const int * p2) == & gt; здесь p2 передается как значение, т. е. p2 является локальным для этого метода,
поправьте меня пожалуйста если я не так думаю? Если да, возможно, мне нужно больше узнать об этом? Можете ли вы указать несколько хороших ссылок?
ОБНОВЛЕНИЕ 2 Если какой-то новичок, как я, хочет узнать больше об этой вещи, вы можете использоватьc++decl / cdecl programЯ обнаружил, что очень полезноВот
$ 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
Но, как указывалось здесь, первый пример нелегален в C ++.
Спасибо