函数参数的传递学问也不小,不过呢,核心就是两个概念:值传递和引用传递,也很简单。
值传递:传递参数的复制体,函数体内对参数进行修改,原参数值不会发生变化。
引用传递:传递函数的地址,函数体内修改参数会引起原参数值的变化。
值传递
1 using namespace std;
2
3 int function(int a, int b){
4 cout<<"a + b = "<<(a+b)<<endl;
5 return 0 ;
6 }
7
8 int main(){
9 int a = 1;
10 int b = 2;
11 function(a, b);
12 system("pause");
13 return 0;
14 }
输出:
a+b = 3
请按任意键继续. . .
引用传递
1 #include <iostream>
2 using namespace std;
3
4 int function(int& a, int& b){
5 cout<<"a + b = "<<(a+b)<<endl;
6 a = 10;
7 b = 20;
8 return 0 ;
9 }
10
11 int main(){
12 int a = 1;
13 int b = 2;
14 function(a, b);
15 cout<<"a = "<<a<<endl;
16 cout<<"b = "<<b<<endl;
17 system("pause");
18 return 0;
19 }
输出:
a + b = 3
a = 10
b = 20
请按任意键继续. . .
注意,a和b的值发生变化了!
原文链接: https://www.cnblogs.com/alephsoul-alephsoul/archive/2012/10/08/2715939.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/65135
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!