结论
int *&p
p是一个整形指针的引用,如果p的地址改变了,那么它引用的指针的地址也改变
code
#include <iostream>
#include <map>
#include <string>
#include <list>
using namespace std;
void test1(int *p){
int k= 999;
p =&k;
}
void test3(int *&p){
int k= 999;
p =&k;
}
int main(int argc, char const *argv[])
{
{
int k = 3;
int *p = &k;
cout << p << endl;
test1(p);
cout << p << endl;
int k2 =30;
int *p2 = &k2;
cout << p2 << endl;
test3(p2);
cout << p2 << endl;
}
return 0;
}
结果截图
可以看到test1不能让实参的地址改变,而test3可以