指针调用
向函数传递参数的指针调用方法,把参数的地址复制给形式参数。在函数内,该地址用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。
#include <iostream>
using namespace std;
void swap(int *a, int *b)
{
int temp = *a;
*a = *b;
*b = temp;
}
int main()
{
int a = 10;
int b= 20;
//交换前
cout<<"a="<<a<<" "<<"b="<<b<<endl;
swap(&a,&b);
//交换后
cout<<"a="<<a<<" "<<"b="<<b<<endl;
return 0;
}
运行结果
引用调用
该方法把参数的引用复制给形式参数。在函数内,该引用用于访问调用中要用到的实际参数。这意味着,修改形式参数会影响实际参数。
#include <iostream>
using namespace std;
void swap(int &a, int &b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
int a = 10;
int b= 20;
//交换前
cout<<"a="<<a<<", "<<"b="<<b<<endl;
swap(a,b);
//交换后
cout<<"a="<<a<<", "<<"b="<<b<<endl;
return 0;
}
运行结果:
值传递调用
该方法是把实参复制给形参,在这种情况下,修改函数内的形参是不会影响实际参数的。
#include <iostream>
using namespace std;
void swap(int a, int b)
{
int temp = a;
a = b;
b = temp;
}
int main()
{
int a = 10;
int b= 20;
//交换前
cout<<"a="<<a<<", "<<"b="<<b<<endl;
swap(a,b);
//交换后
cout<<"a="<<a<<", "<<"b="<<b<<endl;
return 0;
}
运行结果:
原文链接: https://www.cnblogs.com/caozewen/p/12175166.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/191738
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!