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
[35255] Re:Re:Re:Re:Re:Re:배열 동적 할당을 하려던 건데요...
김상면 [windyboy] 1263 읽음    2004-05-30 13:53
그렇군요 제가 잠시 머리가 헤까닥 했나 봅니다.
그럼




김진영 님이 쓰신 글 :
: 안녕하세요?
: 이번경우는 dword라 900개정도는 순간적으로 이루어집니다.
: 1억개쯤 되니 한 2~3초걸리더군요^^
: 요즘 컴퓨터의 성능을 감안하면 왠만한 클래스라도 900정도는 별 문제가 없을것 같습니다.
: 그리고 클래스를 melloc으로 할당하면 안됩니다.
: 필요가 있기 때문에 생성자를 부르는데 안부르면 제대로 할당이 될리 없겠죠.
: 어차피 생성자를 안쓴다면 new를 사용해도 melloc과 큰 차이가 나진 않습니다.
: 전 꼭 new를 쓰길 권하고 싶네요.
: 그럼 이만...
:
:
: 김상면 님이 쓰신 글 :
: : 대체로 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:그림파일 여러개를 붙여서 파일로 만들려고 합니다 김상면 1043 2004/05/29
35242     Re:그림파일 여러개를 붙여서 파일로 만들려고 합니다 방태윤 1094 2004/05/29
35243         Re:Re:배열 동적 할당을 하려던 건데요... 구리구리 958 2004/05/29
35246             Re:Re:Re:배열 동적 할당을 하려던 건데요... 김진영 1135 2004/05/29
35250                 Re:Re:Re:Re:배열 동적 할당을 하려던 건데요... 김상면 1511 2004/05/29
35254                     Re:Re:Re:Re:Re:배열 동적 할당을 하려던 건데요... 김진영 1146 2004/05/30
35255                         Re:Re:Re:Re:Re:Re:배열 동적 할당을 하려던 건데요... 김상면 1263 2004/05/30
35270                             ^^ 답변해주신 분들 감사드립니다(냉무) 구리구리 764 2004/05/31
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.