글수 49
[code]
template <typename Ty>
Ty **alloc2DArray(int width, int height)
{
Ty **arr = new Ty*[height];
for(int i=0; i<height; i++)
{
arr[i] = new Ty[width];
}
return arr;
}
template <typename Ty>
void free2DArray(Ty **&arr, int height)
{
for(int i=0; i<height; i++)
{
delete []arr[i];
arr[i] = 0;
}
delete []arr;
arr = 0;
}
[/code]
간단히 만들어봤어요.
적절히 쓰면 됩니다.
template <typename Ty>
Ty **alloc2DArray(int width, int height)
{
Ty **arr = new Ty*[height];
for(int i=0; i<height; i++)
{
arr[i] = new Ty[width];
}
return arr;
}
template <typename Ty>
void free2DArray(Ty **&arr, int height)
{
for(int i=0; i<height; i++)
{
delete []arr[i];
arr[i] = 0;
}
delete []arr;
arr = 0;
}
[/code]
간단히 만들어봤어요.
적절히 쓰면 됩니다.
blog: http://ljh131.tistory.com
email: ljh131@gmail.com
2007.08.15 21:42:04 (*.61.240.182)
다른 방법을 생각 해봤습니다
"A book on C"에서 2차 배열 동적 할당에 관련 된 내용이
고급 기법 페이지에 나오는데.. 조금 변경 해봤습니다.
int **imatrix( int w, int h )
{
int i;
int **m;
m = new int * [h];
if( !m )
PutError("memory alloc failure in imatrix()"), exit(0);
m[0] = new int [ w * h ];
if( !m[0] )
PutError("memory alloc failure in imatrix()"), exit(0);
for( i = 1; i < h; i++ ) {
m[i] = &m[0][ i * w ];
}
return m;
}
해제 하는 함수는 직접 만들어 보시는 것도 좋겠네요.
원리는 간단 합니다.
"A book on C"에서 2차 배열 동적 할당에 관련 된 내용이
고급 기법 페이지에 나오는데.. 조금 변경 해봤습니다.
int **imatrix( int w, int h )
{
int i;
int **m;
m = new int * [h];
if( !m )
PutError("memory alloc failure in imatrix()"), exit(0);
m[0] = new int [ w * h ];
if( !m[0] )
PutError("memory alloc failure in imatrix()"), exit(0);
for( i = 1; i < h; i++ ) {
m[i] = &m[0][ i * w ];
}
return m;
}
해제 하는 함수는 직접 만들어 보시는 것도 좋겠네요.
원리는 간단 합니다.
