在数据结构中存储函数以便以后查找和调用它们

时间:2017-11-30 14:02:55

标签: c++ data-structures heap-memory unordered-map

我正在考虑创建一个程序来将函数存储在一个无法恢复的映射中。是否有可能通过他们的钥匙找到他们并打电话给他们?我也想在其他模块中使用它作为头文件。它会解决相同的内存地址位置还是每次都产生新的内存?

3 个答案:

答案 0 :(得分:8)

你的意思是

std::unordered_map<some_key_type, std::function<Output(Input)>> functions;
// ...
functions[some_value](some_input);

如果您这样做,请参阅相关文档:

答案 1 :(得分:0)

#include <functional>
using namespace std;

int add(int a, int b)
{
       return a+b;
}
int main()
{
       unordered_map<int , function<int(int,int) >> umap ;
       //umap[1](5,10);

}
**
 output :
  std : bad function call

enter code here
**
I want to map that function attibute in value section to int add function 
I am unable to map it or how I can write the 'values' function body

答案 2 :(得分:0)

您尚未为umap的键1分配任何功能。

umap.insert(make_pair(1, add));

这样就可以了。