您如何在C ++中定义变体类型?是工会本身或其成员还是什么?我试图自己做一些研究(当然),但没有找到明确的答案。
答案 0 :(得分:1)
您可以像这样定义一个变体:
std::variant<int, float> x;
所以x现在可以是int或float(毕竟定义为typesafe union)。
然后您可以为其指定一个值:
x = 5;
所以x现在是一个值为5的整数。要检索值,请使用get,例如:
int y = std::get<int>(x);
尝试检索不正确的类型会产生错误。
我希望这就是你所要求的。