Class D中的自动字段顺序重排

Class D中的自动字段顺序重排,class,struct,alignment,field,d,Class,Struct,Alignment,Field,D,我刚才在报价中看到了以下内容: 对于D类,不需要调整对齐方式(事实上,编译器可以自由地重新排列数据字段以获得最佳布局,就像编译器将重新排列堆栈框架上的局部变量一样)。对于映射到外部定义的数据结构的D结构,需要使用以下方法处理: struct Foo { align (4): // use 4 byte alignment ... } 这是否意味着结构字段不会像上面提到的类字段那样重新排列?是的,尽管我认为当前的实现不会重新排列类字段

我刚才在报价中看到了以下内容:

对于D,不需要调整对齐方式(事实上,编译器可以自由地重新排列数据字段以获得最佳布局,就像编译器将重新排列堆栈框架上的局部变量一样)。对于映射到外部定义的数据结构的D结构,需要使用以下方法处理:

struct Foo
{
    align (4):  // use 4 byte alignment
    ...
}

这是否意味着结构字段不会像上面提到的类字段那样重新排列?

是的,尽管我认为当前的实现不会重新排列类字段