利用STL解决二维数组过大内存溢出问题

您所在的位置:网站首页 手机内存不够了,用什么办法解决 利用STL解决二维数组过大内存溢出问题

利用STL解决二维数组过大内存溢出问题

2024-07-05 14:07| 来源: 网络整理| 查看: 265

前几天写一个程序,内存空间不够用,要开二维数组一直报错,后来查阅了一些资料总结了几种方法,在这里记录分享一下

 

1. 如果你的程序没有内存限制,那你可以把数组定义在主函数外,用这个办法的话,数组最大可以定义到大概

test[10720][100000]这么大

2.如果程序有内存限制可以用Vector容器代替数组,当然Vector是不可能真正的代替二维数组的,使用Vector会削去很大一部分功能

 

3.下面这个我觉得比较好用限制又小的是map容器代替数组

举个栗子

test[12][13] = num;

我们可以用一个maptest_map这样的容器,把map[1213] = num;

这样只要你的二维数组个数大小在整型范围内就可以使用map容器,或者更进一步,你需要更大的数组,可以考虑把 ’1213‘转换成字符串的形式,然后用maptest_map保存数组

总之时间和空间不可兼得,如有错误还请留言批评指正



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3