空函数的stackoverflow

mah*_*hsa 2 c++ stack-overflow

看看这段代码:

void f()
{
    f();
}
Run Code Online (Sandbox Code Playgroud)

我知道因为f()调用了这么多函数,所以会发生 StackOverflow。但我的问题是导致此错误的堆栈中究竟存储了什么,每个f()函数调用的返回地址?因为这个函数没有变量,那为什么会出现StackOverflow呢?

cbu*_*art 5

对于每个调用的函数,堆栈都会存储其返回地址,以便在函数返回时继续执行下一条指令。这是调用堆栈