您的位置:首页 > 编程语言 > C语言/C++

关于C++ 传值 地址传递

2014-12-27 15:37 281 查看
</pre><p></p><p><strong>C++传值</strong></p><p>很简单,看例子:</p><p></p><pre name="code" class="cpp">int add(int a, int b)
{
return a + b;
}

int main()
{
int x = 6, y = 2;
cout<<"result: "<<add(x,y);
system("pause");
return 0;
}

输出:result:8

当执行到函数add时候,调用传递的俩个参数值会被复制到函数add本地变量a,b中,最终计算结果return。

这样在执行main方法里面,x,y的值依旧没变。

C++地址传递

看例子:

void doubleValue(int& a, int& b)
{
a *= 2;
b *= 2;
}

int main()
{
int x = 6, y = 2;
doubleValue(x,y);
cout<<"result, x: "<<x<<endl;
cout<<"y: "<<y<<endl;
system("pause");
return 0;
}


输出:result:x: 12

y:4

可以看到数值加倍了,也就是调用doubleValue起作用了。

当按地址传递的时候,我们传递的是这个变量本身,我们在函数中对变量做的任何修改都会影响到函数外面传递的变量。

地址传递是使一个函数返回多个值的方法。个人感觉还是蛮有用的
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: