函数参数里的a和&a的区别
//在gcd的过程上增加了拓展
inline int exgcd(int a, int b, int &x, int &y)
{
if(b == 0){
x = 1, y = 0, return a;
}
int d = exgcd(b, a % b, x, y);
int z = x;x = y, y = z - y * (a / b);
return d;
}
函数里的a,b,&x,&y的区别
函数参数里的a和&a的区别
//在gcd的过程上增加了拓展
inline int exgcd(int a, int b, int &x, int &y)
{
if(b == 0){
x = 1, y = 0, return a;
}
int d = exgcd(b, a % b, x, y);
int z = x;x = y, y = z - y * (a / b);
return d;
}
函数里的a,b,&x,&y的区别
你可以简单点这样理解:
int a 是在调用时把输入参数复制一份放到a里面,这样有两份独立数据,互不影响
int &x是在调用时把输入参数直接整体拿过来了,你在函数里修改x,那么调用者的对应的那个变量也被改了