永发信息网

请解释 形参 int &arr[10]和形参 int (&arr)[10]的含义

答案:3  悬赏:10  手机版
解决时间 2021-04-04 03:21
请解释 形参 int &arr[10]和形参 int (&arr)[10]的含义
最佳答案
int &arr[10] 形参的&, 也就是引用是数组的引用, 但是C++中没有数组的引用这样的语句。这个是错误的。

int (&arr)[10] 这个是声明一个指向大小为10的数组的变量的引用。
如:
void fun2(int (&arr)[10]) {
}
调 用:
int a[10];
fun2(a);

在调用的时候fun2函数函数就不会以传值的方式再复制一份数组,而是引用传递的是数组a的本身。

这和以指针的使用效果基本一样,唯一不同的是指针的传值本身在函数体内被修改不能影响到所调用的实参,仅只能以指针指向的值是可以修改并可以在函数体外得以体现的。
全部回答
int &arr[10] 中arr先做下标运算,再做解除引用运算,得到整形数据
int (&arr)[10] 中arr先做解除引用运算,在做下标运算,得到整形数据
第一个形参是引用传递,改变arr[]数组,如:在自定义函数void function(int &arr[10])中,不需要该函数的返回值,就能直接改变调用该函数的函数体中数组arr[];
第二个形参 int (&arr)[10],是传递数组元素的地址(十个地址类型的元素的地址),这个跟值传递
差不多,只是这个值是地址!
希望对你有帮助!谢谢!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
生日祝福语送长辈贺词,老人家过生日祝福语
巴马水生喝最好是吗?
怎么和对象找话题?
单选题某人欲旅游欧洲最古老的文明遗迹,应建
农民工腿部划坏了住院需要多少误工费
怎么样把微信的背景图改成空白
横幅一般多少钱,制作条幅一个字最便宜多少钱?
从汶川地震到北京奥运、到国庆,干百万志愿者
7位同学站成一排,共有多少种不同的排法
想问这个新百伦鞋是不是真的……
春节诗句大全两句,春节的古诗4句
我要临时工谁做
wwe什么时候会来中国
单选题下列物体不属于连通器的是A.水壶B.涵洞
dnf超强去污活动洗衣皂怎么获得
推荐资讯
单选题在转账结算中,人们经常使用的信用工具
广西民族学院在南宁哪里?
饭后多久练瑜伽
什么牌子的泳帽好,游泳帽是选择布的材质好还
竞价是什么意思,百度竞价公然允许使用别人的
「普法」高利贷违法,所以高利贷就不用还了吗
初中生写的诗词啊!!!
I have a complaint regarding your.....
晚会录制 1080P全高清摄录导播设备
在本市寄快递到本市(100单)哪个快递公司便
下列对相关实验现象的描述错误的是A.铜丝在空
这是什么植物?种球类的,叶子像鸢尾一样扁扁
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?