[英]Making a forward_list of a variadic template class
我有一個std::forward_list
,還有一個類Delegate
(從此處獲取 ),該類是帶有可變參數類型簽名的類( typename return_type, typename... Args
)。
我想從這些Delegate
創建一個std::forward_list
。 我將如何去做? 我努力了:
std::forward_list<Delegate<void, typename...> >
但它給出語法錯誤。 我也想稍后添加到此列表中。 我可以保證每個列表(會有多個)僅具有將相同數量的參數存儲在一起的Delegate
類型。 但是,每個列表可能都有一個方法列表,這些方法采用的參數與其他列表中的方法不同。
這些列表實際上將位於std::unordered_map
。
首先,聽起來您應該使用unordered_multimap
而不是使用列表作為值的地圖。
就是說,如果您試圖將類型存儲在甚至很小的STL容器中,則需要制作一個基類並將它們存儲為指向該基類的指針。 您提到一個列表中的所有值將具有相同數量的參數,但是您未指定參數將完全相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.