я видел кого-то с помощью этогоЧто это означает const int * & var?
void methodA(const int*& var);
в одном ответе, но не мог понять, что означает, что аргумент.
AFAIK:
const int var
=> константное значение, которое не может быть измененоconst int* var
=> указатель на INT, который сопз т.е. * вар не может быть изменен, но переменная может быть измененоconst int& var
=> ссылка на константные Int т.е. значение вар не может быть изменен
Что такое const int*& var
среднее, и есть const int& *var
также возможно?
Не могли бы вы привести также пример, например, что можно сделать и что с ним нельзя сделать?
UPDATE:
Я не уверен, если я имею в виду правильный путь, но я начал думать ссылку как псевдоним переменной, которая была передача в качестве аргумента, так Const INT * р; Methoda (р) => здесь мы переходим р как константу Int *, но мы не знаем, если это передача по значению или то, что пока мы не видим определение метода A,
так что если Methoda подобен этому Methoda (const int * & p2) ==> здесь p2 - это другое имя для p, то есть p и p2 теперь являются такими же , и если метод A (const int * p2) ==> здесь p2 передается как значение, т.е. p2 является просто локальным к этому методу,
, пожалуйста, исправьте меня, если я ошибаюсь. Если да, мне может понадобиться изучить еще кое-что об этом? Не могли бы вы указать несколько хороших ссылок?
UPDATE 2 Если некоторые новичок, как я хочу знать больше об этой вещи, вы можете использовать C++ Децл/Cdecl программу, которую я только что обнаружил очень полезно из here
$ 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++.
Благодаря
в третьем методе baz, ConstIntPointer == const int * var, как это проходит по значению, есть указатель? Я сейчас смущен. –
Указатели сами занимают пространство. Указатели - это переменные, которые хранят адрес другой переменной. Он собирается скопировать это значение, нажать его в стек и вызвать эту функцию. – GManNickG
Вы передаете значение, которое хранится в указателе (то есть адрес памяти). –