首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Swift是否保证类和结构中字段的存储顺序?

Swift是否保证类和结构中字段的存储顺序?
EN

Stack Overflow用户
提问于 2016-09-03 10:58:42
回答 1查看 2.1K关注 0票数 7

在C中,在结构中定义字段的顺序就是它们在内存中实例化的顺序。考虑到内存对齐,下面的结构在内存中的大小为8字节,但如果字段颠倒,则只有6字节,因为不需要任何对齐填充。

代码语言:javascript
复制
struct s {
    int32_t a;
    /* 2 bytes of padding to align a 64 bit integer */
    int64_t b;
}

这种排序保证存在于C结构、C++类(和结构)和Objective-C类中。

对于Swift类和结构中的字段,存储顺序是否也有类似的保证?或者(假设该语言不支持与所列其他语言相同的指针),编译器会在编译时为您重新安排它们吗?

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39302834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档