首頁 >後端開發 >C++ >如何在單一 C 容器中儲存不同類型的物件?

如何在單一 C 容器中儲存不同類型的物件?

Barbara Streisand
Barbara Streisand原創
2024-10-25 15:37:02947瀏覽

How Can You Store Objects of Different Types in a Single C   Container?

如何在C 容器中儲存不同類型的物件

在單一C 容器中儲存不同類型的物件可能會帶來挑戰,作為地圖、向量和列表等標準容器,將成員限制為單一類型。

一個解決方案是利用 Boost.Any,這是一種類型安全的包裝器,可以包含任何類型的實例。透過將 Boost.Any 的實例儲存在容器中,您可以容納不同類型的物件。這種方法因其穩健性和考慮邊緣情況而受到青睞。

或者,您可以建立一個自訂結構或聯合,其中包含所有潛在類型的成員,以及指定活動類型的指示器。然而,聯合需要謹慎,因為如果讀取了不正確的成員,可能會出現未定義的行為,並且它們將活動成員一次限制為一個。

值得注意的是,C 標準容器已經是通用的,但它們的成員必須只能屬於同一類型。儲存混合類型物件的需求是一個有趣的問題,仔細考慮它在您的上下文中的適用性非常重要。

以上是如何在單一 C 容器中儲存不同類型的物件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn