簡體   English   中英

如何在C ++中實現Swift枚舉關聯的值?

[英]How can I implement Swift enum associated values in C++?

在Swift中,我實現了一個狀態機,其中當前狀態由枚舉值表示。 我將不同類型的額外數據與每個枚舉值相關聯。 有沒有辦法在C ++中做到這一點? 我只能想到使用某些State類的繼承,但是以后我將不得不使用某種反射並將State對象強制轉換以獲取額外的關聯數據。

一種方法是具有一個代表枚舉的基類,以及每種情況的子類(每個類都具有該情況下關聯值的變量)。 基類應該是多態的(具有至少一個虛擬方法;可能是虛擬析構函數),以便可以通過使用dynamic_cast針對每種情況對其進行測試來解構“枚舉”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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