union
Boost Variant とc/c++のデータ型の違いは何だろうと思っています。union
データ型が同じメモリ位置を占有し、メモリ領域内の最大のデータ型が使用されるメモリの総量を占めることを知っています。
union space {
char CHAR;
float FLOAT;
int INTEGER;
}S;
int
とfloat
が最大で同じサイズであるため、4 バイトのメモリを占有する必要があります。union
Boost Variant とデータ型の間に他の点で類似点と相違点はありますか? また、Boost Variant は任意のデータ型を取り、データ型の「ポリモーフィズム」を許可することも知っています (OOP トピック ワードを誤用している場合は訂正してください)。したがって、共用体データ型もポリモーフィズムの一種ですか?