2016-02-26 63 views
4

a)結構體b)中的成員在位域中的順序是否保證? 換句話說,給定結構或位域的某個成員,我保證它從結構/位域開始的偏移量不會小於其之前的成員大小的總和?結構體和位字段成員的排序

舉個例子:

struct S{ 
    char a[N]; 
    unsigned b : M; 
    char c : O; 
}; 

請問偏移量c的至少sizeof(a)+sizeof(b)

+0

否。還有對齊涉及。 – Pyjong

+0

@Pyjong這就是爲什麼它說「不少」 – PSkocik

+0

哦,我的不好,然後是 – Pyjong

回答

3

是的。

C++標準:(非聯合)的

非靜態數據成員而沒有中間訪問說明符聲明的類被分配,使得後來構件具有類對象內的較高地址。