整数配列リストがあり、これにアクセスするために左右ポインター配列リストを作成したいと考えています。しかし、要素が 690.000 を超える場合 (たとえば 700.000)、プログラムは停止し、「セグメンテーション違反 (コア ダンプ)」と表示されます。以前に std::vector を使用したことがありますが、速度のために単純な配列リストを使用する必要があります。そして、このコードは私のプログラムに関するものではなく、コードの問題を伝える非常に簡単な方法です. このコードはクラスメソッドで実行されるため、グローバル変数を使用する必要があります。
int k=698900;
int n1=k/2;
int n2=k/2;
int *left[n1];
int *right[n2];
int list[k];
for(int i=0; i<k; i++){
list[i] = i;
}
for(int i=0; i<n1; i++){
left[i] = &list[i];
}
for(int i=0; i<n2; i++){
right[i] = &list[i];
}
for(int i=0; i<n2; i++){
cout << *right[i] << endl;
}