[英]What is the equivalent of boost::variant in the C++ standard library?
我正在尋找C風格聯合的替代方案。 boost :: variant是這樣一種選擇。 std C ++中有什么嗎?
union {
int i;
double d;
}
正如一些評論者所說:不,在標准C ++中沒有Boost Boost-like。 也許幾年后會出現,但是為什么要等待-今天就使用Boost Variant!
編輯(四年后,2016年):在C ++ 17中將有std::variant
。 與boost::variant
類似但不相同。 因此,當您的編譯器支持C ++ 17時,您將在標准庫中找到一個解決方案。
幾年過去了:現在有一個提案正在提出。 boost::variant
可能會變成C ++ 17! 在此之前,我們將不得不使用boost::variant
,它仍然很棒。 請注意, std::variant
中的詳細信息將有所更改。
更新:提案完成了。 std::variant
將成為新的C ++ 17標准的一部分。 這是Herb Sutter在2016年6月的會議報告 。 他在那里確認。
std::variant
現在將正式成為C ++ 17標准庫的一部分! https://herbsutter.com/2016/06/30/trip-report-summer-iso-c-standards-meeting-oulu/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.