核心内容摘要
缅甸北部恐怖网站www的背后
函数值传递特点形参是实参的副本修改形参不影响实参函数栈帧中形参的独立内存空间适用场景无需修改原始数据的计算逻辑实际代码测试#includeiostream using namespace std; //定义一个 实现两个数字进行交换的函数 void swap(int num1,int num
{ //输出交换前的num1,num2的值 cout交换前endl; coutnum1num1endl; coutnum2num2endl; //对num1,num2进行交换 int tempnum1; num1num2; num2temp; //输出交换后的num1,num2的值 cout交换后endl; coutnum1num1endl; coutnum2num2endl; //不需要返回值的时候(void)可以不写return } int main() { int a10; int b20; cout交换前endl; coutaaendl; coutbbendl; swap(a,b); cout交换后endl; coutaaendl; coutbbendl; system(pause); return 0; }通过运行上述代码我们可以发现实参a,b的数值在交换前后并未发生改变 而形参num1,num2发生了交换。
下面我们将展示其背后的原理。
原理讲解值传递的局限性大结构体传递时的性能问题无法通过值传递实现“输出型参数”解决方案改用指针或引用C