C、C++中指针的作用基本上是一样的,而C++多了一个给函数传递地址的途径-按引用传递(pass by reference)。引用对的基本思想和指针一样:我们可以引用传递参数地址。引用和指针的不同之处在于,带引用的函数调用比带指针的函数调用在语法构成上更清晰。
//passbyreference.cpp
//将文件内容分解成一个个单词
#include <iostream>
using namespace std;
void f(int& a)
{
cout << "a=" << a << endl;
cout << "&a=" << &a << endl;
a = 23;
cout << "a=" << a << endl;
}
int main()
{
int x = 17;
cout << "x=" << x << endl;
cout << "&x=" << &x << endl;
f(x);
cout << "x=" << x << endl;
}///:~
结果:
在函数f()的参数列表中使用int &来传递引用。其实得到a中存放的地址值得唯一方法就是使用‘&’运算符,对a进行赋值的就是在给a引用的变量赋值。
以引用传递允许一个函数去修改外部对象,就像传递指针一样。