在二维向量或数组中可以存储的最大元素数是多少?



我尝试在声明为 - 的 2d 向量中存储 2000*2000 个元素 -vector < vector <int> > a ( n , vector <int> ( n , 0 ));但是当我存储 20000*20000 个元素时,它会显示SIGABRT错误。 我在GeeksforGeeks IDE中完成了所有这些工作。

那么,假设我想创建一个包含 200000*200000 个元素的矩阵,理想的方法是什么?

根据语言规范,可以放入vectorvector<vector>中的数据量的唯一限制是可以指向的唯一内存地址数的限制。

但是在实际应用程序中,限制始终是您可以为vector提供多少内存的限制,并且大多数情况下,这将受到RAM的限制。

像GeeksforGeeks这样的网站可能会进一步限制它,只允许任何给定的应用程序用掉少量内存,以防止用户使用不负责任的代码对他们的网站进行DDOS。

因此,如果您确实需要保存这么多数据,则必须至少执行以下操作之一:

  • 找到一种有效压缩数据的方法
  • 找到一种使用映射内存在vector中分配数据的方法
  • 找到一种无需存储 20000x20000 元素即可解决问题的方法

最新更新