引用和指针区别,主要在于,指针新申请了内存;引用的地址还是原始变量的地址;对指针修改不影响用来初始化指针的变量,对引用修改则会对原始变量修改;
【简单的代码示意:】
#include<iostream>
using namespace std;
void Func2(int *x)
{
(*x) = (*x) + 10;
}
void Func3(int &x)
{
x = x + 10;
}
int main()
{
int a = 1111;
int b[1] = { a };
Func2(b);
cout << *b << endl;
cout << a << endl; //b值改变,a值不变
int c = 3;
Func3(c);
cout << c << endl; //c值可以改变
int &d = c;
//d = b; //引用只能被变量初始化一次
Func3(d); //引用d可以被修改,但随之c也会被修改
d = 1200; //引用d可以被修改,但随之c也会被修改
cout << d << endl;;
cout << c << endl;
return 0;
}