HackerRank bad_alloc在使用int向量时,但int数组工作正常,具有相同的大小| C ++

时间:2015-12-24 13:53:11

标签: c++

在下面的代码(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 ;
}

0 个答案:

没有答案