class
{
int a;
...
int & func() const;
};
int & func() const
{
return a;
}
这是一个简单的返回引用的问题,小弟有2点不是很明白,恳请大神指导~
问题1:既然这里是个返回引用,为什么不是写成return a &;这种形式?
问题2:编译器是不是自动创建一个匿名变量(假设就是temp), int & temp = a;
然后实际上返回的就是return temp;这个匿名的变量是保存在栈中,随着函数返回成功以后自动由编译器清除...可以这样理解吗?