std::map 和函数指针作为具有不同签名的值

std::map and function pointer as the value with different signature

本文关键字:map 函数 指针 std      更新时间:2023-10-16

我想将具有不同签名的函数指针存储在std::map中作为value。这在C++可能吗

可以使用Boost.Any或Boost.Variant之类的东西。但是请记住,您必须以某种方式记住存储在(隐藏)在boost::any对象中的函数的签名是什么,以便您可以检索它。

你甚至不需要使用boost。您可以简单地使用 functor( 重载 () 运算符)作为基类,并从中继承您需要的每个不同函数。