...值是一样的.&func的作用是什么,为什么通过编译?

发布网友 发布时间:2024-10-23 23:30

我来回答

5个回答

热心网友 时间:2024-11-05 17:18

int &fun()表示引用返回。
比如
int &fun()
{
int *a=(int *)malloc(sizeof(int));
*a=1;
return *a;
}
返回的就是这个a指向的内存的数据本身了。
如果
int fun()
{
int *a=(int *)malloc(sizeof(int));
*a=1;
return *a;
}
则返回的是值和*a一样的一个临时变量。fun的调用语句结束后,如果你没用别的变量把这个临时变量的值保存下来,这个临时变量就消失了。
而引用返回的话,因为返回的是malloc出来的内存空间本身,不free的话这块内存始终可用,所以可以一直使用,甚至能做为左值使用。

引用返回的用途非常多的,特别是你在学习C++之后就会发现了。

热心网友 时间:2024-11-05 17:19

学过指针吧?
函数也是有指针的.至于使用吧.可以简化函数调用的代码.

热心网友 时间:2024-11-05 17:26

func &func都是函数指针,编译器对二者处理时一致的

热心网友 时间:2024-11-05 17:25

func &func都是函数指针,在进行函数指针赋值时,会用到,使用&func程序可读性较高,不过很少有人顾及到这一点,呵呵

热心网友 时间:2024-11-05 17:23

fgggggggggggggggggg

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com