</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起作用了。
当按地址传递的时候,我们传递的是这个变量本身,我们在函数中对变量做的任何修改都会影响到函数外面传递的变量。
地址传递是使一个函数返回多个值的方法。个人感觉还是蛮有用的