私は、Boost Variantとc/C++のデータ型がunion
の違いは何ですか?私はunion
データ型が同じメモリ位置を占め、メモリ領域内の最大データ型が使用されるメモリの総量を占有することを知っている。 int
とfloat
最大と等しい大きさであるのでブーストバリアントは基本的にc/C++のユニオンですか?
union space {
char CHAR;
float FLOAT;
int INTEGER;
}S;
は、メモリの4つのバイトを占有しなければなりません。 Boost Variantとunion
データ型の間には、他の点で類似点と相違点がありますか? Boost Variantは任意のデータ型を取ることができ、データ型 "多形性"を可能にすることも知っています(OOPトピックワードを誤って使用している場合は私を修正してください)。ユニオンのデータ型は多型の一種ですか?
「UB」と「POD」とは何ですか? – pandoragami
@ user2555139未定義の動作とプレーンな古いデータ(型) – Rapptz