【发布时间】:2021-07-09 10:49:47
【问题描述】:
有没有一种简单的方法可以了解哪个union 成员处于活动状态?
一个例子:
union Read_Value{
char ch;
float number;
string str;
}
假设一个 void 函数从输入文件流中读取数据,并根据读取的变量类型初始化 Read_Value。假设我不知道函数是如何工作的,我怎么知道这三个成员中的哪一个处于活动状态?
【问题讨论】:
-
std::variant(C++17) 可能会有所帮助。 -
通常的方法是存储一个'type'变量来指示哪个字段是有效的