以下のプログラムが正常に動きます。
動的配列arryをdeleteしたはずなのに、その後にそのアドレスを参照しても、メモリが残っています。
てっきり、すでにdeleteしているので、その後、別のポインタで参照したら、エラーになるものと思いました。
私の理解がどう間違っているかわかりません。
#include<iostream> using namespace std; int main(int argc, char const *argv[]) { double **start_x; int NumDomain=2; start_x = new double*[NumDomain]; double *arry; arry = new double[30]; for (size_t i = 0; i < 30; i++) { arry[i] = i; } start_x[0] =arry; delete[] arry; for (size_t i = 0; i < 30; i++) { cout<< *(start_x[0]+i)<<endl; } return 0; }

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/02 16:47
2019/05/02 16:59
2019/05/02 17:27
2019/05/02 17:44
2019/05/02 17:51