구조체의 메모리 할당되는 방법이 궁금합니다.
변수만 갖는 구조체와 같은 변수에 멤버 함수를 갖는 구조체의 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 에서 하였습니다. 빌더는 다를까요? (다르지 않을 거라 생각이 드는데...)
|