私のプロジェクトでは、100 万の入力があり、100 万の入力まで、検索/並べ替えアルゴリズムをさまざまな数の入力と比較することになっています。メモリの割り当てとデータの初期化を一緒に行いたいのですが、それができないことに気づきました。だから私はこのようにすることにしました。
double temp1, temp2, temp3; //Each line has three numbers
int i;
Person *list[N]; //Here, stackoverflow occurs, for example N=500000
for(i=0; i<N; i++){
file >> temp1 >> temp2 >> temp3;
list[i] = new Person(temp1, temp2, temp3); //I wanted to initialize with data
} //but if I wrote "new Person[N]"
//stackoverflow doesn't occur
しかし、N = 500000 のような膨大な数のオーバーフローがあります。では、これら 2 つを組み合わせる方法はあります か?(オーバーフローなしでデータの初期化あり)
Person *list[N];
for(i=0; i<N; i++){
list[i] = new Person();
}
Person *list = new list[N];