次のような2D動的配列を生成、解放する関数が正しいのかどうかが不安です。
ポインタは値渡しで良いのでしょうか。。
ポインタ自体のことも、new,deleteについても
なかなか理解が難しく、どう扱って良いかわかりません。
とりあえず、以下の関数が正しいかまずいかお教えいただけますでしょうか。
void allocate_arry(int **arry,int N){ arry = new int*[N]; for (int i=0;i<N;i++){ arry[i] = new int[N]; } } void delete_arry(int **arry,int N){ for (int i = 0; i < N; i++) { delete[] arry[i]; } delete[] arry; } int main(){ int **arr; int N = 10; allocate_arry(arry,N); delete_arry(arry,N) return 0; }
回答3件
あなたの回答
tips
プレビュー