c++ 参数传递 之引用形参

在函数内部对引用形参做 出的改变会影响到函数外部实参的改变

引用形参的例子

void swap(int &v1, int &v2)
{
int tmp = v2;
v2 = v1;
v1 = tmp;
}

非引用形参

void swap(int v1, int v2)
{
int tmp = v2;
v2 = v1; // assigns new value to local copy of the argument
v1 = tmp;
}

使用引用形参允许修改外部的实参, 但是如果不想修改外部的实参 可以再引用形参前加个const 

bool isShorter(const string &s1, const string &s2)
{
return s1.size() < s2.size();
}

其每一个形参都是 const string 类型的引用。因为形参是引用,所以不复制实参。又因为形参是 const 引用,所以 isShorter 函数不能使用该引用来修改实参。

 

posted on 2012-10-30 17:29  GIS-MAN  阅读(611)  评论(0编辑  收藏  举报

导航