首先是定义处如下,(&b)来表示引用,共享内存空间
int a[3];
int (&b)[3] = a;
一开始a和b数组都是空的,没有数值。下面进行测试,首先改变b:
for(int i = 0; i < 3; i++)
b[i] = i;
cout << "--------first--------" << endl;
for(int i = 0; i < 3; i++)
{
cout << "a[" << i << "] = " << a[i] << endl;
cout << "b[" << i << "] = " << b[i] << endl;
}
可以看到输出结果,a和b都输出了同样的值,这是在只改变b的情况下。
接着测试只改变a的情况:
for(int i = 0; i < 3; i++)
a[i] = i + 3;
cout << "--------second--------" << endl;
for(int i = 0; i < 3; i++)
{
cout << "a[" << i << "] = " << a[i] << endl;
cout << "b[" << i << "] = " << b[i] << endl;
}
可以看到a和b都一起变了。