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
[48782] Re:할당된 포인터 크기를 아는 방법이 있나요?
방태윤 [nabty] 2142 읽음    2007-04-05 17:36
제 경험으로 볼때 그런 방법은 없을것 같습니다.
메모리 관리는 프로그래머의 몫인걸로 알고 있거든요.

굳이 사이즈를 알고 싶으시면 함수나 클래스하나 만들어서 쓰면 되지 않을까요?

에를들면

class my_malloc
{
  public:   
    char*p;
    int s;
    my_malloc(int size){
      s=size;
      p=(char*)malloc(s);
    };
    ~my_malloc(){
      if(p){
        free(p);
      }
    };
    int size(){
      return s;
    }   
};

사용할땐

my_malloc*mp=new my_malloc(100);
mp->p가 null 이 아니면
포인터는 mp->p 로 쓰면되고,
사이즈를 알고 싶으면
mp->size 참조 해보면 100 나오겟죠.
사용후 delete mp;
하면 되겟죠...

api 함수에보면 GlobalSize,HeapSize 뭐 메모리싸이즈 돌려주는 함수들이 있는데
그런것도 어차피 원도우에서 저런식으로 관리하지 않을까 생각해봅니다.

그럼,.


kwon 님이 쓰신 글 :
: char *p
: p = (char *) malloc(100);
:
: 위 문장에서 sizeof(p)하면 당근 4가 나오는데요..
: 위처럼 초기화후에 곧바로 p를 이용해서 할당된 크기 100을 얻어올수 있는 방법이 있는지요?
:
: 넘 초보같은 질문이라.. 죄송합니다.

+ -

관련 글 리스트
48776 할당된 포인터 크기를 아는 방법이 있나요? kwon 982 2007/04/05
48782     Re:할당된 포인터 크기를 아는 방법이 있나요? 방태윤 2142 2007/04/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.