我想檢查一個類的大小。另外,我是C++的新手。我有兩個類, 兩個類之間的區別只是它有8個方法。在這兩個階級中,階級的大小沒有什麼區別。你能解釋我的概念嗎?爲什麼這兩個類具有相同的大小,該方法不構成一個類的大小?
#include <iostream>
using namespace std;
class A
{
int b;
char c[2];
int func(int x, int y)
{
return x+y;
}
int func1(int x, int y)
{
return x+y;
}
int func2(int x, int y)
{
return x+y;
}
int func3(int x, int y)
{
return x+y;
}
int func4(int x, int y)
{
return x+y;
}
int func5(int x, int y)
{
return x+y;
}
int func6(int x, int y)
{
return x+y;
}
int func7(int x, int y)
{
return x+y;
}
};
class B
{
int b;
char c[2];
};
int main()
{
cout<<"Size of class A is "<< sizeof(A)<<endl;
cout<<"Size of class B is "<< sizeof(B)<<endl;
return 0;
}
輸出如下 - 一個實例,而不是類本身的
$ ./class_size.out
Size of class A is 8
Size of class B is 8
他們爲什麼要這樣做?如果製作一百萬個對象,則不需要800萬份不必要的函數副本。 – chris