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

标签 c++

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

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

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

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

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

最佳答案

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

有几种方法可以将类型或表达式转换为字符串,例如 typeid ,但只有这样才有效,反之则不然。

C++ 中没有将字符串转换为成员函数地址的 native 方法。但是,您可以创建一个关联容器(如 std::map )将字符串与成员函数指针关联,并使用它进行包装和解包。

关于c++ - 将成员函数指针转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34826535/

相关文章:

c++ - argv 和 argc 与输入/输出文件一起使用

C++ 在私有(private)成员数据类中使用 strcmp()

c++ - 保存更改后,如何使 XCode 4 自动构建和运行代码?

c++ - 将 CGImageRef 放在剪贴板上

c++ - 计算char数组C++中的单词数

c++ - 这是多重继承的好用法吗?

c++ - C++ 中 (x) 的类型

c++ - 如何从类中包装的成员访问包装类的成员

c++ - 为什么标准 C++ 库全部使用小写?

c++ - 将普通类成员转换为静态类成员