在下面的代码(c ++)中,当我尝试在HackerRank上使用自定义输入100 500000运行时,它在我使用int数组时工作正常,但在使用int vector时会出现std :: bad_alloc错误。我有几个问题1)在HackerRank环境https://www.hackerrank.com/environment中,c ++的大小为512 MB。它是堆栈或堆或总计的最大内存? 。堆栈,堆和总数的最大内存是多少? 2)我还在分配3 * 100 * 500000,比工作原理大512 MB以上? 3)为什么int数组工作但int vector无效? 4)两个(int数组和int向量)都存储在堆栈中?
/* try to run with 100 500000 custom input with language c++ */
#include <iostream>
#include <vector>
using namespace std ;
int main (){
int n , m ;
cin >> n >> m ;
//vector < vector < int > > bullets ( n , vector < int > ( m ) ) ;
//vector < vector < int > > power ( n , vector < int > ( m ) ) ;
//vector < vector < int > > dp ( n , vector < int > ( m ) ) ;
int bullets [ n ] [ m ] ;
int power [ n ] [ m ] ;
int dp [ n ] [ m ] ;
return 0 ;
}