gpt4 book ai didi

c++ - “virtual memory exhausted: Cannot allocate memory”仅在使用调试标志进行编译时

转载 作者:行者123 更新时间:2023-12-02 10:41:21 24 4
gpt4 key购买 nike

我收到以下代码(error.cpp)的错误:

#include <map>
#include <functional>
#include <vector>

int main()
{
std::map<
int, std::map< std::string,
std::map<std::string, std::map<std::string, std::map<std::string,
std::map<std::string, std::map<std::string, std::map<std::string,
std::map<std::string, std::map<std::string, std::map<std::string,
std::map<std::string, std::map<std::string, std::map<std::string,
std::map<std::string, std::map<std::string, std::map<std::string,
std::map<std::string, std::map<std::string, std::map<std::string,
std::map<std::string, std::string>
> > >
> > >
> > >
> > >
> > >
> > >
> > oups;

}
使用调试标志进行编译时:
g++ error.cpp -g -o error
我的系统是Ubuntu 18.04,其中g++ 7.5.0作为VM运行。
RAM为5GB,交换为2.5GB。剩余硬盘空间为1GB。
这正常吗?有毛病吗有限制吗?
对于上述代码,什么是“更精细”的替代方案? (c++ 14)

最佳答案

您在该定义中有8 + 7 + 6个字符串,对吗?因此,我想说的是,您手中拥有的是善意的关系21。为什么不尝试:

constexpr const std::size_t my_arity = 21;
std::unordered_set<std::array<std::string, my_arity>> oups;
代替?

关于c++ - “virtual memory exhausted: Cannot allocate memory”仅在使用调试标志进行编译时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63801290/

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