假设我必须遵循:
int &f() {
static int x = 0;
return x;
}
void main() { f() = 5; }
我意识到这个函数返回一个整数的引用(我试图使用这个Function returning int&)。
在这种情况下,这是否意味着x将等于5?
我真的没有意识到qazxsw指出的是什么......
此外,它可以做出什么改变如果省略上面的“静态”?我知道static int是一个在程序存在之前实际存在的整数,但我不确定它能帮助我理解会发生什么样的变化。
我试图找到使用调试器的答案。
在这种情况下,这是否意味着x将等于5?
是。在为整数赋值后,它将等于该值。
可以做出什么改变如果省略上面的“静态”?
取决于您希望程序如何表现。只删除f() = 5
会使程序有不确定的行为,所以这不是一个好主意。一个可能的变化是删除整个函数声明,以及对它的调用。