C 中的異構容器
STL 提供了廣泛的容器來處理具有特定要求的數據,例如固定和可變大小、相同和不同類型的資料、排序和未排序的資料以及順序和隨機存取。然而,正如您所觀察到的,STL 中沒有容器將可變大小與對不同資料類型的支援相結合。
為了滿足此特定要求,C 不提供本機容器。相反,有兩種主要方法可以在可變大小的容器中儲存異質資料:
指標或引用的容器:
您可以儲存指向從公共基底類別繼承的不同類型物件的指標或引用的容器。例如,您可以有一個 std::vector
Boost 函式庫:
Boost 函式庫提供了兩個用於處理異質資料的強大工具:
問題答案中提供的程式碼範例示範如何使用 boost::any 建立可變大小的容器,可以儲存不同類型的值,例如整數和字串。另一方面,boost::variant 允許您定義一組允許的類型並儲存這些類型的值,從而提供類型安全的存取。
以上是如何用 C 語言將異質資料儲存在可變大小的容器中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!