【发布时间】:2021-09-13 21:09:25
【问题描述】:
我有以下变体
std::variant<Type1, Type2<subType1>> myVariant;
Type2 是一个模板类,有 2 种可能的子类型 subType1 和 subType2 是可能的。 是否支持以下内容?
std::variant<Type1, Type2<std::variant<subType1,subType2>> myVariant;
如果是,get<index>(myVariant) 将如何处理内部变体?
编辑:修正错字
【问题讨论】:
-
这完全取决于
Type2<T>是什么,它的界面如何工作,以及您如何访问T对Type2的含义。Type2<T>对其T的作用取决于类型。它可以存储一个T,或一组Ts 或其他任何东西。没有专门为 C++ 或variant提供支持的东西;这一切都在您的代码中。