2
在C++中,如果我有這樣一個類:必須在內存中聲明彼此相鄰的兩個公用字段「彼此相鄰」嗎?
class Foo {
public:
int a;
char b;
private:
char c;
};
這是否意味着a
具有在進行分配的Foo
一個實例是旁邊內存b
?
我一直在讀了一下標準here (n4296)的,我發現的唯一語言是(非工會)的
非靜態數據成員的類與同一接入 控制(第11條)被分配,以便後來的成員在類對象內具有更高的地址 。
因此,語言聽起來像它不排除像「a,c,b」而不是「a,b,c」或甚至「c,a,b」這樣的潛在排序。
我搜索了術語contiguous
,有趣的是這個標準只出現了21次,但我覺得他們可能用了不同的術語來描述這樣一個想法:「兩個領域的排列方式沒有其他領域它們之間。」