class Test
{
void func(){int i;}
};
int main()
{
cout<<sizeof(Test)<<endl; //gives 1
}
Run Code Online (Sandbox Code Playgroud)
为什么sizeof(Test)不考虑函数的大小.功能在哪里真正与它的身体存储?在Google中找不到任何链接来解释这一点.
编辑:如果除了维基之外提供有关类内部分的任何好的链接,那将是很好的.
Dav*_*rtz 11
如果它确实考虑了函数的大小,sizeof那么它的预期目的就没用了.例如,您可能会sizeof(Test)知道要分配多少内存来保存对象的实例.
但是该实例不包含该函数的副本,因为该函数对于每个实例都是相同的.在需要时精确存储一个函数副本的需要不受存在的对象数量的影响.