Arm*_*yan 4 c c++ operating-system memory-management virtual-memory
也许是一个天真的问题,但......
确认或否认:
自动和静态存储持续时间的对象/变量的内存的存在是在编译时确定的,并且由于没有足够的内存用于自动对象,程序将无法运行时失败.
当然,当自动对象的构造函数执行动态分配并且这样的分配失败时,我们认为这是动态分配的失败,而不是自动的.
Mic*_*urr 14
自动分配肯定会失败 - 这通常称为堆栈溢出.当有人试图将变量大的数组作为局部变量时,你经常会看到这种情况.无限(或无限制)递归也可能导致这种情况.
你不能以独立于平台的方式真正做的是检测自动分配失败并处理它.