std :: bitset中的元素数量是否有最大值?

时间:2012-03-30 03:57:08

标签: c++ stl

std::bitset中的元素数量是否最大?

在我的代码中(VC ++ 2010)1<<20因堆栈溢出而崩溃,但1<<19有效。

(我正在处理巨大的投入。)

1 个答案:

答案 0 :(得分:1)

据我所知,这与bitset中支持的最大元素数无关,但与可以在堆栈上分配的内存量有关。在VS上通常,可以在堆栈上分配的最大内存为1 MB,如果超过此限制,则会出现堆栈溢出。如果你需要的内存超过这个数量,那么我建议使用new从堆中分配内存,而不是在堆栈上分配。在这种情况下,只有当new真正耗尽内存时,内存分配才会失败。