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
[35250] Re:Re:Re:Re:배열 동적 할당을 하려던 건데요...
김상면 [] 1511 읽음    2004-05-29 23:16
대체로 C Builder나 MFC에서 제공하는 자료를 다시 재할당하는 작업을 하는 것은 비 합리적입니다.
왜냐하면 C시절에는 그래도 좋았지만 C++이 되면서 배열의 경우 배열의 요소가 생성되고 삭제될때 생성자와 소멸자가 호출됩니다. 그러면 실행 시간이 문제가 됩니다. 물론 개발 툴에서 제공하는 자료형이니 이에 대한 대비는 있을수도 있습니다.
그래도 왠만하면 생성자가 호출되는 자료형은 재할당을 하지 않는 게 좋습니다. 대안으로 malloc를 사용하시면 좋을 듯 합니다.


작은 양의 객체는 물론 다릅니다.(하나의 클래스형 객체, 몇개의 클래스형 배열)
하지만 님의 경우는 900개나 되니 좀 생각해야겠지오
그럼



김진영 님이 쓰신 글 :
: 구리구리 님이 쓰신 글 :
: : 답변 잘 참고 하겠습니다
: :  전 30 * 30 자체를 동적으로 크기를 할당하려고요...
:
: 안녕하세요?
: 2차원 배열은 동적할당이 안됩니다.
: 하지만 2차원 배열은 결국 1차원 배열로 저장되므로 1차원 배열로 바꾸면 되겠죠.
: 간단한 예제를 만들었으니 참고하세요.
: w = 가로, h = 세로, d = 그림 갯수입니다.
: 클래스로 만들면 사용하기 쉽게 다듬을수 있겠죠.
: 그럼 이만...
:
:     int h=2, w=3, d=4, cnt=0;
:     char *ary, temp;
:     ary = new char[h*w*d];
:
:     char sample[2][3] = {{'a','b','c'},{'d','e','f'}};
:
:     for (int i=0; i<d; i++)
:         for (int j=0; j<h; j++)
:             for (int k=0; k<w; k++)
:                 ary[k + (j*w) + (i*h*w)] = sample[j][k];
:
:
:     for (int i=0; i<h*w*d; i++) {
:         cout << ary[i];
:        
:         cnt++;
:
:         if(cnt%w == 0)
:
:             cout << endl;
:         else
:             cout << " ";
:
:         if (cnt%(w*h) == 0) {
:             cout << endl;
:             cnt = 0;
:         }
:     }
:

+ -

관련 글 리스트
35239 그림파일 여러개를 붙여서 파일로 만들려고 합니다 구리구리 879 2004/05/29
35249     Re:그림파일 여러개를 붙여서 파일로 만들려고 합니다 김상면 1044 2004/05/29
35242     Re:그림파일 여러개를 붙여서 파일로 만들려고 합니다 방태윤 1094 2004/05/29
35243         Re:Re:배열 동적 할당을 하려던 건데요... 구리구리 958 2004/05/29
35246             Re:Re:Re:배열 동적 할당을 하려던 건데요... 김진영 1136 2004/05/29
35250                 Re:Re:Re:Re:배열 동적 할당을 하려던 건데요... 김상면 1511 2004/05/29
35254                     Re:Re:Re:Re:Re:배열 동적 할당을 하려던 건데요... 김진영 1147 2004/05/30
35255                         Re:Re:Re:Re:Re:Re:배열 동적 할당을 하려던 건데요... 김상면 1264 2004/05/30
35270                             ^^ 답변해주신 분들 감사드립니다(냉무) 구리구리 764 2004/05/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.