gpt4 book ai didi

c++ - 制作可变参数模板类的 forward_list

转载 作者:行者123 更新时间:2023-11-28 06:28:04 26 4
gpt4 key购买 nike

我有一个 std::forward_list我有一个类 Delegate (取自 here )是一个具有可变类型签名( typename return_type, typename... Args )的类。

我想做一个std::forward_list其中 Delegate秒。我将如何去做呢?我试过:

std::forward_list<Delegate<void, typename...> >但它给出了语法错误。我还想稍后添加到此列表中。我可以保证这些列表中的每一个(会有多个)只会有 Delegate采用相同数量的参数存储在一起的类型。但是,每个列表可能有一个方法列表,这些方法采用与其他列表中的方法不同的参数。

这些列表实际上将在 std::unordered_map 中.

最佳答案

首先,听起来您应该使用 unordered_multimap 而不是将列表作为值的映射。

就是说,如果您尝试将类型存储在 STL 容器中,即使这些类型稍有不同,您也需要创建一个基类并将它们存储为指向该基类的指针。您提到一个列表中的所有值都将具有相同数量的参数,但您没有指定参数将完全相同。

关于c++ - 制作可变参数模板类的 forward_list,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28162260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com