将成员函数指针转换为字符串

时间:2016-01-16 11:42:18

标签: c++

我有一个由一个函数组成的类。我只需要定期调用这个函数。有一个定时器回调api,其格式如下:

Timer(&obj,&Class::Func,Time) 

因此,如果我们将成员函数附加到此api,它将定期调用。

这个api有一个包装器,它接受参数作为字符串。所以我需要将每个参数作为字符串传递并进行必要的解析并调用实际的api。

所以我想首先将对象地址和成员函数地址转换为字符串并在我的项目中使用它。任何人都可以通过提供示例代码来帮助我。

1 个答案:

答案 0 :(得分:2)

您无法将成员函数转换为字符串,然后再使用它。

有一种方法可以将类型或表达式转换为字符串,例如typeid,但它只能以这种方式工作,而不是相反。

C ++中没有将字符串转换为成员函数地址的本机方式。但是,您可以创建一个关联容器(如std::map)将字符串与成员函数指针相关联,并将其用于包装和展开。