我试图了解将引用传递给指针的不同方式。一种实现涉及传递指针引用,另一种实现涉及传递指针。
我试图了解*&
后者是如何在 C++ 中解析 " " 的。
假设我想更改指针 P 指向的内容。我可以传递指针或指针的引用。如果我传递对指针的引用,我的实现将是这样的
void changePointer(int ** pp){
//stuff that changes P from main();
}
//...
int main(){
int a = 7;
int * P = &a;
changePointer(&P);
return 0;
}
上面,changePointer 中的参数被解析为:
void changePointer(int ** pp){
//int ** pp = &P; //where P is the integer pointer being passed by main
...
但是,如果我想传递指针,而不是它的引用,那么主要我会说:
//...
changePointer(P);
//...
在 changePointer 中,我会将参数更改为:
void changePointer(int *& pp)
现在我不知道它是如何工作的或如何阅读它。这是否被解析为:
整数 * pp = &P?