Что я пытаюсь понять:Хорошие примеры использования 'union' с 'enum'?
«Союз» действует как переменная, и я могу хранить в нем значение разных типов. Что делать, если в нем хранится значение типа «float», но я прочитал его как «короткий»?
Есть ли способы, как я могу быть уверен в типе ценности, которую я собираюсь извлечь из объединения?
Как я могу справиться с конкретными случаями?
Я где-то видел записку, Он говорил об использовании «перечисления» для таких случаев, но не было достаточного объяснения почему?
Не могли бы вы объяснить, почему это полезно/безопасно, используя «союзы» с «перечислениями», пожалуйста? Или показать несколько примеров.
Заранее спасибо, Ник.
Даже нет членов в боковом соединении. Только для одного члена союз распределяет базу памяти, размер элемента которой большой. Используя эту память, вы можете получить доступ к любому члену в этом объединении. Поскольку он выделяет большую память на основе member.and также в союзе возможен только один доступный одновременно. Нет проблем и всего. –
«Что, если в нем хранится значение типа« float », но я прочитал его как« короткий »? - неопределенное поведение. «Есть ли способы, как я могу быть уверен в типе ценности, которую я собираюсь извлечь из союза?» - компьютеры имеют память; используйте некоторые из них, чтобы представить, какой тип значения в союзе. Перечисление - это один из способов представления того, какой тип хранится. –