0

我们的代码中有一个测试试图解决堆栈溢出错误(在 OpenCV 的旧修改版本中)。AFAIK,如果实际上存在堆栈溢出,则测试应该 SEGV。

我们的一位用户由于std::bad_alloc抛出异常而导致测试失败。听起来此异常仅针对堆分配引发(新运算符的结果 - http://www.cplusplus.com/reference/std/new/bad_alloc/)。

这可能是由于大量堆栈分配而发生的吗?

作为参考,测试是:http ://code.google.com/p/modpagespeed/source/browse/trunk/src/net/instaweb/rewriter/image_test.cc#826

错误报告是:http ://code.google.com/p/modpagespeed/issues/detail?id=528

4

1 回答 1

2

不,此异常仅从operator new/new[].

即使您不在operator new/new[]任何地方使用它也可能发生 - 原因 - STL 容器确实使用它。

于 2012-11-01T15:49:09.510 回答