char * 和 char*&之间的区别

来源:互联网 发布:粒子群算法优缺点 编辑:程序博客网 时间:2024/06/06 15:49
char *&是指针引用
cha *是指针
当用指针引用作为形参的时候,改变形参的指针,同时实参的指针也改变了。
当用指针做形参的时候,改变形参的指针,实参的指针不改变,当改变指针所指向的内容的时候,会同时改变。
如果你懂引用的,应该可以理解了。
#include<iostream>
using namespace std;
struct point
{
int x;
int y;
};

void changenum1(point *&pnum)
{
pnum = new point;
pnum->x = 4;

}
void changenum2(point *pnum)
{
pnum = new point;
pnum->x = 4;

}
test1()
{
point *num=new point;
num->x=10;
changenum1(num);
std::cout<<num->x<<endl;

}
test2()
{
point *num=new point;
num->x=10;
changenum2(num);
std::cout<<num->x<<endl;

}
void main()
{
  test1();
  test2();
}

运行结果是:
4
10
0 0
原创粉丝点击