关于非虚多继承的this指针偏移
非虚多继承是否会造成this指针偏移?比如
实测VS编译大小为8,gcc编译大小为4,这也是编译器定义的范畴吗?
提出这个问题的原因是,我尝试将接口和pod数据从类主体里分离出来,但发现这样做之后类变大了,VS下有没有办法解决这个问题?如果不行的话只能另想办法了。。
struct Base1
{
};
struct Base2
{
};
struct Derived
: Base1, Base2
{
int aaa;
};
int main()
{
cout<<sizeof(Derived);
}
实测VS编译大小为8,gcc编译大小为4,这也是编译器定义的范畴吗?
提出这个问题的原因是,我尝试将接口和pod数据从类主体里分离出来,但发现这样做之后类变大了,VS下有没有办法解决这个问题?如果不行的话只能另想办法了。。
...全文
相关推荐
5.多继承下不含覆盖函数的类对象的布局1
例如,offset_to_top(0)表示BaseA或Derive的虚函数表指针位于对象的起始位置,而offset_to_top(-16)表示BaseB的虚函数表指针的偏移量,用于调整this指针。
6.多继承下含覆盖函数的类对象的布局1
这种需要调整this指针的函数通常会被标记,以便在运行时进行正确的函数调用。总结来说,多继承下的类对象布局涉及到虚函数表的组织和内存中的对象结构。
C++ this 指针的用法及注意
`this`指针的使用场景通常包括:1. 在成员函数中返回对象自身,例如,如果你想让成员函数返回对象自身以便链式调用其他成员函数,可以使用`return *this;`。2.
c#指针偏移使用说明文档
根据提供的文档信息,我们可以深入探讨C#中的指针偏移技术以及如何在代码中实际应用这一概念。### C#中的指针与不安全代码在C#中,默认情况下不允许使用指针,因为这可能导致程序不稳定或者产生安全隐患。
西门子之如何计算ANY型指针的偏移量或改变指针?.pdf
当需要计算ANY型指针的偏移量或改变指针指向的数据时,通常需要遵循特定的方法和步骤。在计算ANY型指针的偏移量时,需要了解STEP7软件如何处理和存储数据。



