![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
C++函数参数中的"&"号是什么意思呢? 10
近日看到某些VC中的函数参数是这么写的,intfunc(int&count),在形参“count”前加了一个"&"符,这是什么意思呢?能够起到什么作用呢?恳请大家回答。谢...
近日看到某些VC中的函数参数是这么写的,int func(int &count) ,在形参“count”前加了一个"&"符,这是什么意思呢?能够起到什么作用呢?恳请大家回答。谢谢
展开
7个回答
展开全部
在函数的声明或定义中,形参带'&'号,表示形参是该类型的引用类型。所谓引用是一个变量的别名,这样对形参的修改会反映在实参上。
比如要实现交换就可以用
void swap(int &a, int &b)
{
int tmp = a;
a = b;
b = tmp;
}
在函数的调用中,实参带'&'号,表示取地址运算,结果是一个指向操作变量的指针。
展开全部
引用,即给一个变量取别名,他们还是同一个变量,就是比如a=0;调用 func(a);再函数里面count++;函数结束后会改变a的值,a这时候等于1.建议去看C++ Primer,经典必读书籍
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
引用,创建一个count的复本,这样就不会更改你传递进来的参数值了,当然如果你想改变的话的应该用指针:int func(int * count)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-02-27
展开全部
1取地址;
int i=1;
int pi=&i;
2位运算,表求按位与
int a=1,b=3;
int c=a&b;
3引用
int a;
int &b=a;//b是a的引用,b等同于a
这是 sun_siliang 的答案
int i=1;
int pi=&i;
2位运算,表求按位与
int a=1,b=3;
int c=a&b;
3引用
int a;
int &b=a;//b是a的引用,b等同于a
这是 sun_siliang 的答案
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int &count它有什么功能,
countLeaf(struct BINode *root,int &count)
{
if(!root)return 0;
{
if((!root->lchild)&&(!root->rchild))
return 1;
else{
m=count(root->lchild);
n=count(root->rchild);
return m+n;
}
}
}
这个函数传入的第二个参数是一个函数地址的引用
count(root->lchild) //而这里就是调用这个函数 目的应该是求根结点左孩子这边的叶子结点数
countLeaf(struct BINode *root,int &count)
{
if(!root)return 0;
{
if((!root->lchild)&&(!root->rchild))
return 1;
else{
m=count(root->lchild);
n=count(root->rchild);
return m+n;
}
}
}
这个函数传入的第二个参数是一个函数地址的引用
count(root->lchild) //而这里就是调用这个函数 目的应该是求根结点左孩子这边的叶子结点数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |