Да. *
в нотации говорится, что, что, передают стек, указатель, т.е., адрес чего-то. Эти &
говорит, что это - ссылка. Эффект подобен, но не идентичен:
Позволяют нам взять два случая:
void examP(int* ip);
void examR(int& i);
int i;
, Если я звоню examP
, я пишу
examP(&i);
, который берет адрес объекта и передает его стеку. Если я звоню examR
,
examR(i);
мне не нужен он; теперь компилятор "так или иначе" передает ссылку - который практически означает, что это получает и передает адрес i
. На стороне кода тогда
void examP(int* ip){
*ip += 1;
}
я должен удостовериться, что разыменовал указатель. ip += 1
делает что-то совсем другое.
void examR(int& i){
i += 1;
}
всегда обновления значение [1 111].
Для больше для размышления о читайте на "вызове по ссылке" по сравнению с "вызовом по значению". &
понятие дает вызов по ссылке C++.
and
is the same as &&
but with lower precedence. They both use short-circuit evaluation.
WARNING: and
even has lower precedence than =
so you'll usually want to avoid and
. An example when and
should be used can be found in the Rails Guide under "Avoiding Double Render Errors".
Две структуры бесконечно рекурсивно рекурсируют друг друга - чтобы узнать размер Class1
, вам необходимо знать размер Class2
который требует размера Class1
и т. д. Обходной путь для этого - использовать указатель по крайней мере в одном из случаев: