我知道如何sizeof计算仅包含数据成员的结构的大小.但是,例如,如果我在C++中具有以下结构
struct MyAdd()
{
int AddInt()
{
int a=5;
int b=5;
return a+b;
}
int c;
int d;
};
Run Code Online (Sandbox Code Playgroud)
所以在使用sizeof函数时它还会返回在函数内声明的变量的大小,AddInt还是只考虑成员变量(c和d)?
Ser*_* K. 21
它只会考虑成员变量.
此外,非虚拟成员函数对大小没有贡献,struct因为它们不需要任何运行时支持.
要理解为什么会这样,想象一下从编译器的角度来看这个代码与这个伪代码非常相似:
struct MyAdd
{
int c;
int d;
};
int MyAdd_AddInt(MyAdd* this)
{
...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3673 次 |
| 最近记录: |