構造体の属性はC++で継承されていますか
例えば:
struct A {
int a;
int b;
}__attribute__((__packed__));
struct B : A {
list<int> l;
};
構造体B(構造体A)の継承された部分はpacked属性を継承しますか?
コンパイラの警告が表示されない限り、構造体Bに属性((packed ))を追加することはできません。
ignoring packed attribute because of unpacked non-POD field
したがって、構造体B全体がパックされないことはわかっています。これは私のユースケースでは問題ありませんが、構造体Aのフィールドを構造体Bにパックする必要があります。