求大佬给解个疑惑。
在自学到栈区的时候遇到一个问题。
就是:为什么上面一个代码第二次输出不会乱码,第二个第二次输出会乱码呢,他们返回的不都是局部变量吗?
int add(int num1,int num2)
{
int sum = num1+num2;
return sum;
}
int main()
{
int a=10;
int b=20;
int sum=add(a,b);
int << sum<< endl;
int << sum<< endl;
}
int & test()
{
int a=10;
return a;
}
int main()
{
int &ref=test();
cout<< ref<<endl;
cout << ref<<endl;
}
求大佬解个疑惑。 谢谢各位大佬了。
可能问的比较弱智,因为确实不懂所以来问。
请别笑我,我才刚学。