C++类指针

JHo*_*nti 1 c++

我知道你可以得到一个像这样的静态方法的引用:

typedef void (*pointer)();
pointer p = &MyClass::MyMethod;
Run Code Online (Sandbox Code Playgroud)

但有没有办法获得类本身的引用?

编辑:我想将一个类名存储到一个变量中,这样我就可以根据变量的当前值将不同类型的对象实例化为缓冲区或列表.然后我可以对对象列表执行操作(使用多态).

Ale*_*lli 5

不,"类本身"不是在C++运行时存在的对象 - 它只是一个编译时的概念.因此,您无法获取"类对象"本身的引用或指针,只能获取实例,函数(包括静态函数)等等 - 运行时确实存在的事物.

使用RTTI,你可以得到一些类似的效果--typeid关键字为你提供了一个std::type_info(你需要#include <typeinfo>启用它)的引用,它在运行时"代表"有问题的类型.(您可能还需要特殊的编译器开关来启用此功能,例如/GRMicrosoft的Visual C++).

这对你来说是否足够好取决于你正在努力完成的是什么.小心澄清?