#include<iostream>
#include<stdlib.h>
using namespace std;
int & add(int& left, int & right)
{
int c = 0;
c = left + right;
return c;
}
int main()
{
int a = 3;
int b = 4;
add(a, b);
int& ret = add(a, b)//而这个引用是等于给我们的这块空间起了个别名。怪不得呢,要返回什么,就用什么来接收,
cout <<ret << endl ;
system("pause");
return 0;
}
在我们return C时,那我们的编译器是如何处理这个返回值C的呢,其实如果C的值所占的内存空间很小的话,我们的编译器就将这个值保存在我们的寄存器中。如果很大,在执行主函数时,则在我们的主函数中提前会开辟一个空间,将这个返回值,存入这个空间中,即CPU会将处理的这个值返回给我们的主存空间。这也就解释了返回什么类型,我们就用什么类型去接收。而编译器是如何做这些的,这些都是通过我们的汇编语言来实现的。即是汇编语言告诉编译器去做这些的。
编译器是如何处理我们在函数中的返回值并将其传回给我们主函数中的。
最新推荐文章于 2024-09-06 07:07:15 发布
