gpt4 book ai didi

来自堆栈分配的 C++ std::bad_alloc?

转载 作者:行者123 更新时间:2023-11-28 03:28:48 25 4
gpt4 key购买 nike

我们在代码中进行了一项测试,试图解决堆栈溢出错误(在 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

最佳答案

不,此异常仅由 operator new/new[] 抛出。

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

关于来自堆栈分配的 C++ std::bad_alloc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13180603/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com