- 915 名前:デフォルトの名無しさん [2009/04/07(火) 22:57:27 ]
- >>902
>>913 おれもそれが何を確保してるのかよくわからん。 int (*p)[10] = new int [3][10](); コンパイルも通るし、 913の言うように、 delete [] p; で開放できてるけど。 pはintのポインタの配列の先頭か? それが3個配列になってるのを確保したのかな? +------+------+------+------+------+------+------+------+------+------+ | int* | int* | int* | int* | int* | int* | int* | int* | int* | int* | +------+------+------+------+------+------+------+------+------+------+ <=先頭がp[0][0] +------+------+------+------+------+------+------+------+------+------+ | int* | int* | int* | int* | int* | int* | int* | int* | int* | int* | +------+------+------+------+------+------+------+------+------+------+ <=先頭がp[1][0] +------+------+------+------+------+------+------+------+------+------+ | int* | int* | int* | int* | int* | int* | int* | int* | int* | int* | +------+------+------+------+------+------+------+------+------+------+ <=先頭がp[2][0] こんな感じ? 二次元配列はC++のnewでは一度には確保できないと思ったけどな。
|

|