C ++の初心者として、ポインターと配列を理解するのに苦労しています。次のプログラムを書きました。
int main (void){
int p[3]={0};
int * iptr = new int [4];
iptr++;
*iptr=2;
iptr++;
*iptr=3;
for (int i=0;i<4;i++){
cout << "iptr: " << *iptr << endl;
iptr++;
}
return 0;
}
しかし、期待した結果が得られません。要素 [1] と [2] の値はそれぞれ 2 と 3 になると予想していました。ただし、次の行に沿って結果が得られます。
iptr: 3
iptr: -842150451
iptr: -33686019
iptr: 0
誰かが私の理解のどこが間違っているのか教えてもらえますか?
ありがとうダン