std::map 和函数指针作为具有不同签名的值
std::map and function pointer as the value with different signature
我想将具有不同签名的函数指针存储在std::map
中作为value
。这在C++
可能吗
可以使用Boost.Any或Boost.Variant之类的东西。但是请记住,您必须以某种方式记住存储在(隐藏)在boost::any
对象中的函数的签名是什么,以便您可以检索它。
你甚至不需要使用boost。您可以简单地使用 functor( 重载 () 运算符)作为基类,并从中继承您需要的每个不同函数。
相关文章:
- 仅包含可移动 std::map 的类的移动构造函数不起作用
- 使用模板化的键类型定义 std::map,该键类型基于作为参数接收的函数
- 将 std::map::emplace 与返回 shared_ptr 的函数一起使用是否正确?
- 静态 std::map instatiation 在类的方法中调用构造函数吗?
- 隐式转换为比较函数对象(函子)用于 std::sort 而不是 std::map?
- 如何创建一个模板化函数,可以在任何具有字符串键的 std::map 上运行?
- 在C++中实现类似 python "map"函数的问题:调用类成员函数
- 通过构造函数插入 std::map
- 如何将不同的函数签名映射到同一个 std::map?
- 如何在 Visual C++ 中从返回类型为 map 的函数返回 null?
- 为什么 STL 函数使用节点的颜色来计算 std::map 节点前身
- 为什么std::map有find成员函数
- 在构造函数初始值设定项中使用 Map 的初始值设定项列表
- 尝试在 std::map 中插入抽象类时没有用于调用的匹配函数
- 有没有类似的函数,比如 c++ 中的 JS Array.prototype.map?
- 在 std::map 中插入对象时构造函数中变量的地址
- std::map 在 [] 上调用默认构造函数,在 insert() 上调用复制构造函数
- 为什么我可以将 std::map 的键传递给一个期望非常量的函数?
- 正确的友元定义,以授予 std::map 对私有默认构造函数的访问权限
- 无法推断模板参数,因为我试图使"map"函数