展开全部
只有使用上的区别,实质都是指针
void
swap1(int*
a,
int*
b){int
c
=
*a;
*a
=
*b;
*b
=
t;}
void
swap2(int&
a,
int&
b)
{int
c
=
a;
a
=
b;
b
=
t;}
//
编译器帮你生成{int
c
=
*a;
*a
=
*b;
*b
=
t;}的代码
调用的时候
int
a,
b;
swap1(&a,
&b);
//
传地址
swap2(a,
b);
//
传引用,但编译器会帮你生成swap2(&a,
&b)的代码
void
swap1(int*
a,
int*
b){int
c
=
*a;
*a
=
*b;
*b
=
t;}
void
swap2(int&
a,
int&
b)
{int
c
=
a;
a
=
b;
b
=
t;}
//
编译器帮你生成{int
c
=
*a;
*a
=
*b;
*b
=
t;}的代码
调用的时候
int
a,
b;
swap1(&a,
&b);
//
传地址
swap2(a,
b);
//
传引用,但编译器会帮你生成swap2(&a,
&b)的代码
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询