我正在上一fraction
门课作为 CS 作业,并编写了以下代码:
fraction fraction::add(fraction other) {
fraction temp;
/* manipulate temp */
return temp;
}
这非常有效,创建了一个新fraction
对象,然后将其返回给调用代码。
问题是,为什么这行得通?当方法返回并因此被销毁时,我的分数temp
应该超出范围add
,但它会被传回调用代码而没有太多错误。
为什么返回具有本地范围的东西会导致它超出范围后继续存在?