cac*_*hed 13 c++ boost variant boost-variant unions
我正在寻找C风格联盟的替代品.boost :: variant就是这样一个选择.std C++中有什么东西吗?
union {
int i;
double d;
}
Run Code Online (Sandbox Code Playgroud)
Joh*_*nck 24
正如几位评论者所说:不,标准C++中没有Boost Variant.也许在几年后会有,但为什么要等 - 今天使用Boost Variant!
编辑(四年后,2016年):在C++ 17中将有std::variant
.相似但不完全相同boost::variant
.因此,当您的编译器支持C++ 17时,您将在标准库中找到解决方案.
Ral*_*zky 10
几年过去了:现在提案正在进行中.可能boost::variant
会进入C++ 17!在那之前,我们将不得不忍受boost::variant
仍然很棒的东西.请注意,细节中会有一些变化std::variant
.
更新:提案成功了.std::variant
将成为新的C++ 17标准的一部分.以下是Herb Sutter 2016年6月的会议报告.他确认了这一点.