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
[60261] Re:Re:요구를 받아 드리는 방법의 정석이 뭔지 의견을 묻고 싶습니다
Frigate [devilica] 940 읽음    2010-02-17 09:42
김시환님 말씀도 맞는 말씀입니다, 하지만 제 의견은 조금 틀립니다.

변수의 크기, 사용시점, 그리고 용도에 따라 메모리의 정적 또는 동적 할당을 해야한다고 봅니다.
변수의 크기가 상황에 따라 변하지 않고 일정한 크기를 유지한다면 메모리를 미리 잡아놔도 문제가 없지만
사용자의 요구에따라 메모리 요구량이 달라진다면 동적할당을 해야하는 것이 맞다고 봅니다.
또한 가끔씩 사용되는 큰 변수를 정적으로 할당할 경우 필요이상의 메모리를 낭비하는 경우가 됩니다.
프로그램이 돌아가는 환경(OS/하드웨어)이 모바일이냐 PC냐 또는 그밖의 다른 환경이냐에 따라
그에맞는 적합한 메모리 관리정책을 세워야 하지 않을까 합니다.

동적할당을 하는 프로그램의 경우엔 초기 프로그램 구동이 빠르지만 메모리를 생성하는 시점에
프로그램 퍼포먼스 딜레이가 불가피합니다. 반면에 정적할당의 경우 동적할당에 비해 구동이 느린반면
필요한 메모리를 모두 할당하고 구동했기때문에 메모리를 생성하는 과정이 필요없고 딜레이도 없게 됩니다.
두가지 할당방법모두 장단점이 있기때문에 할당방법의 장점만을 취하기 위해선 초기 일부분은 정적할당을 하고
필요에 따라 동적할당을 해서 쓰는 방법이 있습니다.

따라서 변수나 다른 객체의 동적/정적할당은 경우에 따라 틀려질 수 있기때문에 프로그래머가 상황에 따라 판단해야 하는 부분이 아닐까 합니다.

김시환 님이 쓰신 글 :
: 뭐 상황에 따라 조금 달라질 수 있겠지만
:
: 변수의 최대 크기를 정확히 알고 있는 상황이라면 아예 메모리를 잡아놓고 작업을 하는 편이 낳을 듯 싶고,
: 그렇지 않고 변수의 최대 크기를 알 수 없는 상황이라면 그때 그때 메모리를 할당해서 사용해야 하지 않을까 생각이 됩니다.
:
: 옛날 도스 시대처럼 메모리를 절대적으로 아껴야 하는 시대도 아니고, 메모리를 그때그때 할당하는것도 사실 제대로 메모리 해제에 신경쓰지 않으면 에러를 내는 상황이 되니까 아예 메모리를 잡아놓고 시작하는 것도 나쁠것 같지는 않네요..
:
: 한수동 님이 쓰신 글 :
: : 죄송합니다 질문이라기 보다는 의견을 여쭤 보고 싶네요
: : 제가 프로그램 짤때 마다 항상 고민 되는 부분이 있는데요
: :
: : 사용자가 어떤 값을 입력 할때마다 필요한 변수 혹은 메모리의 양이 달라진다면
: :
: : 아예 예상되는 가장 많은 변수의 수나  메모리값을 미리 잡아놓고 사용자의 요구를 받아 드리는게 낳나요 아니면
: : 사용자가 입력을 하면 그 값이 필요로 하는 변수의 수나 메모리의 양을 계산해서 필요한 만큼만 잡는게 낳은가요?

+ -

관련 글 리스트
60257 요구를 받아 드리는 방법의 정석이 뭔지 의견을 묻고 싶습니다 한수동 992 2010/02/16
60260     전 메모리를 미리 잡아놓는 쪽을 선호합니다. 김준석 965 2010/02/17
60259     Re:요구를 받아 드리는 방법의 정석이 뭔지 의견을 묻고 싶습니다 김시환 964 2010/02/17
60261         Re:Re:요구를 받아 드리는 방법의 정석이 뭔지 의견을 묻고 싶습니다 Frigate 940 2010/02/17
60262             Re:Re:Re:요구를 받아 드리는 방법의 정석이 뭔지 의견을 묻고 싶습니다 Nibble 1012 2010/02/17
60302                 Re:Re:Re:Re:요구를 받아 드리는 방법의 정석이 뭔지 의견을 묻고 싶습니다 Frigate 1084 2010/02/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.