簡體   English   中英

C ++標准庫中的boost :: variant等效於什么?

[英]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 Sutter2016年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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM