声明属性的顺序是否重要?

时间:2018-04-03 10:06:09

标签: swift memory-layout

根据与MemoryLayout的合作,以下df1 <- data.frame(v1) df1[order(rank(v1, ties.method = "random")), "v2"] <- sequence(table(v1)) df1 Foo结构对Barstride具有相同的值:

alignment

似乎是预期的。但是,当谈到struct Foo { let myInt: Int let myBool: Bool } struct Bar { let myBool: Bool let myInt: Int } print(MemoryLayout<Foo>.stride) // 16 print(MemoryLayout<Bar>.stride) // 16 print(MemoryLayout<Foo>.alignment) // 8 print(MemoryLayout<Bar>.alignment) // 8 时,它会有所不同:

size

事实上,我确实知道它的原因是什么;但是,作为开发者,我应该关心这样的事情吗?它会由编译器自动优化吗?



P.S:如果在Software Engineering询问这样的问题我很抱歉,我不确定

0 个答案:

没有答案