1、指针:存储所指向对象的地址,同时指针也有自己的地址
引用:引用对象的别名
2、指针:初始化可为空,指向对象可改变
引用:不可为空,必须和引用对象绑定,且之后不能改变
3、指针的定义及使用
int x=10;
int *p=&x;
cout<<p;//指的是指针p,输出的是地址
cout<<*p;//指的是p解引用后的值,即10
引用的定义及使用
int x=10;
int &p=x;
cout<<p;//相当于cout<<x;
cout<<&p;//输出的是x的地址
4、作为参数是
若传递的参数不是引用:在函数体执行过程中会把传进去的变量复制一份,对其进行操作,实际变量不会改变;
void change(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
int main()
{
int x=1;
int y=2;
change(x,y);
cout<<x;//1
cout<<y;//2
}
若传递的参数是引用,则直接对实际值进行操作,实际值会发生改变
void change(int &x,int &y)
{
int temp;
temp=x;
x=y;
y=temp;
}
int main()
{
int x=1;
int y=2;
change(x,y);
cout<<x;//2
cout<<y;//1
}
注:此为个人学习笔记,也供交流学习使用,本篇内容来源:c++指针和引用的区别_哔哩哔哩_bilibili