#include <iostream.h>
int &fun()
{
static int n;
return n;
}
void main()
{
fun()=10;
}
返回的是引用,请问执行return 返回值时把值放在寄存器里还是内存里
#include <iostream.h>
int &fun()
{
static int n;
return n;
}
void main()
{
fun()=10;
}
返回的是引用,请问执行return 返回值时把值放在寄存器里还是内存里
在内存里
因为变量的值是放在内存里的
C++允许将局部变量放在CPU的的寄存器中
但必须用关键字 register 声明
例
int fac(int n)
{ register int i,j=1; //定义i和j 为 寄存器变量
for(i=1;i<=n;i++) j=j*i;
return j;
}
内存 汗。。。。。 这个好像根本牵涉不到 寄存器和内存吧。。。。
应该是在内存中,因为一般放到寄存器内的变量是寄存器变量比如 register a,是局部变量,而定义为寄存器类的变量应该选择一些使用频率高的变量。而上面说的返回值是静态类变量,全局变量!个人见解,希望对你有帮助!