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
[57650] Re:Re:[Q]구조체 크기의 비밀
안명호.ASURADA [asurada] 1113 읽음    2009-07-18 18:45
답변 감사합니다.

그렇다면 한 가지 궁금한게 더 있는데 일반 멤버 함수와 static 멤버 함수의 메모리 할당에 대한 차이는 무엇인가요?

Lyn 님이 쓰신 글 :
: 매소드는 는 구조체의 크기에 포함되지 않습니다. 오로지 변수만 크기에 포함됩니다
: 간단하게 얘기해서 같은 구조체를 1억번 생성 해도 함수는 딱 하나만 존재한다는겁니다. 함수가 크기에 포함된다면 그 메모리 소모는 엄청난 낭비겠죠 ㅡ.ㅡ;;
:
: 컴파일러 마다 조금씩 다르지만 예를들어 Test2의 void Init() 함수는 파라메터가 없는 것으로 보이지만 실제 컴파일 시에는 void Init(Test2* this) 로 변화됩니다. <그래서 this 포인터란게 존재 하죠 : )>
:
: 뭐 가상함수의 경우에는 추가적인 처리가 필요 하지만요 : )

: 안명호.ASURADA 님이 쓰신 글 :
: : 구조체의 메모리 할당되는 방법이 궁금합니다.
: :
: : 변수만 갖는 구조체와 같은 변수에 멤버 함수를 갖는 구조체의 sizeof 크기가 어째서 동일 한 거죠?
: :
: : 	struct TEST 
: : 	{
: : 		int a;
: : 		int b;
: : 		int c;
: : 		int d;
: : 		int e;
: : 		int f;
: : 	};
: : 
: : 	struct TEST2
: : 	{
: : 		int a;
: : 		int b;
: : 		int c;
: : 		int d;
: : 		int e;
: : 		int f;
: : 
: : 		TEST2()
: : 		{
: : 			a = 0;
: : 			b = 1;
: : 			c = 2;
: : 			d = 3;
: : 			e = 4;
: : 			f = 5;
: : 		}
: : 
: : 		void Init()
: : 		{
: : 			a = b = c = d = e = f = 0;
: : 		}
: : 
: : 		int GetA() { return a; };
: : 		int GetB() { return b; };
: : 		int GetC() { return c; };
: : 		int GetD() { return d; };
: : 		int GetE() { return e; };
: : 		int GetF() { return f; };
: : 	};
: : 
: : 	int nSizeFunc1 = (int)sizeof(TEST);
: : 	int nSizeFunc2 = (int)sizeof(TEST2);
: : 
: : 	TEST *s1_1 = new TEST;
: : 	TEST *s1_2 = new TEST;
: : 
: : 	TEST2 *s2_1 = new TEST2;
: : 	TEST2 *s2_2 = new TEST2;
: : 

: :
: : nSizeFunc1 과 nSizeFunc2 가 모두 24로 나오네요.
: :
: : 테스트는 Visual C++ 2005 에서 하였습니다. 빌더는 다를까요? (다르지 않을 거라 생각이 드는데...)

+ -

관련 글 리스트
57642 [Q]구조체 크기의 비밀 안명호.ASURADA 1624 2009/07/18
57650         Re:Re:[Q]구조체 크기의 비밀 안명호.ASURADA 1113 2009/07/18
57654                 Re:Re:Re:Re:[Q]구조체 크기의 비밀 안명호.ASURADA 1109 2009/07/19
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.