我创建了类似仿函数列表(函数指针)的东西。然后我将它们以二进制形式写入文件。问题是,仿函数 - 是一个简单的函数指针。 (如果我错了,请纠正我。)但是函数的地址在每次运行时都不同。
那么,问题是 - 有什么方法可以创建始终相关的仿函数列表吗?
最佳答案
我建议使用某种配对数据结构,一侧是标识符,另一侧是函数指针。如果有足够多的东西,比如 map :
typedef void (*fptr_t)(); // or whatever your function pointer type is
std::map<std::string, fptr_t> fptr_map;
您的应用程序应在首次需要时构建此 map 并缓存结果。然后,当您将函数指针“写入”到文件时,您应该写入唯一的 std::string 键。当应用程序“读取”函数指针时,它将读入键并将它们映射到该程序调用的函数指针。
关于C++:创建启动间相关仿函数列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2365900/