C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[50776] Re:배열 동적 생성하기..
시녕tm [palindrome] 1148 읽음    2007-10-09 00:39
이용태 님이 쓰신 글 :
: 배열을 할당하는데 시간이 많이 걸리더군요...
:
: 속도를 요하는 작업을 수행해야 하는데... 배열 할당하는데 대부분의 시간을 투자하다보니... 원하는 성능이 나오지 않습니다..
:
: 제가 사용한 방법은 밑의 소스와 같은데요...
:
: 배열 포인터(10000개짜리)를 생성한 후,  5000개짜리 배열을 동적으로 각각 생성시켰습니다.
:
: BYTE *pData[10000]; //원본 데이터
: for(int i = 0; i < 10000; i++)
: {
:      if(pData[i] != NULL)
:             delete [] pData[i];
:     
:      pData[i] = new BYTE[5000];
: }
:
: 시간 아주 많이 걸립니다..ㅡㅡ;;;;
:
: 혹시 10000개짜리 pData 포인터에 5000개짜리 배열을 한방에 생성시키는 방법이 있지않을까요?
:
: 만약 이것이 불가능하다면... 다른 방법은 무엇이 있을까요?
:
: 답변 부탁드립니다...




5000 byte X 10000 = 50000000 Byte 를 한꺼번에 생성시키고

pData[i] 에다가는 단지 할당된 메모리 번지에서 5000씩 증가시키면서 포인터만 넘겨줍니다.

메모리를 릴리즈 할때는 처음 할당 받았던 놈 하나만 Free하면 되고

pData[i] 는 몽땅 NULL로 채우면 될 듯...

new 연산자로 메모리를 할당 받으면 연속한 공간에 할당되는지 모르겠네요..

신경쓴지 오래되서리... 햇갈리네요.. ㅎ

+ -

관련 글 리스트
50775 배열 동적 생성하기.. 이용태 1235 2007/10/08
50777     Re:배열 동적 생성하기.. 장성호 1534 2007/10/09
50776     Re:배열 동적 생성하기.. 시녕tm 1148 2007/10/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.