转载自彩虹老师的博客
对于*:
① 指针的声明。表示p是指向一个整数类型的指针。
int p;
int p;
②解引用。把指针p指向的值赋给x。
x=*p;
对于&:
①求地址运算符。把x的地址赋给p(指针)。
p=&x;
②作为引用在函数的参数中被使用。
void main(void)
{
int i=3;
f(i);
cout << i;
}
void f(int& r)
{
r = 2*r;
}
这段程序输出“6”。
在C语言中,实现同样的功能,我们可以通过声明f()为void f(int *r),其中r是指向整数类型的指针,然后调用参数&i(i的地址)调用函数f(),在函数f()内使用r的解引用,但是显然,C++提供了一种更简明的通过引用的方式向函数传值,从函数中返回值。