相关疑难解决方法(0)

c ++数据对齐/成员顺序和继承

如果使用继承/多重继承,数据成员如何对齐/排序?这个编译器是否具体?

有没有办法在派生类中指定如何对成员(包括基类中的成员)进行排序/对齐?

谢谢!

c++ inheritance alignment

26
推荐指数
1
解决办法
1万
查看次数

为什么类的大小取决于成员声明的顺序?如何?

有人解释我如何在类中的成员声明的顺序决定该类的大小.

例如 :

class temp
{
public:
    int i;
    short s;
    char c;
};
Run Code Online (Sandbox Code Playgroud)

上面这个类的大小是8个字节.

但是当成员声明的顺序改变如下

class temp
{
public:
    char c;
    int i;
    short s;
};
Run Code Online (Sandbox Code Playgroud)

那么类的大小是12个字节.

怎么样?

c c++ padding memory-alignment

20
推荐指数
1
解决办法
2431
查看次数

标签 统计

c++ ×2

alignment ×1

c ×1

inheritance ×1

memory-alignment ×1

padding ×1