How to typeof in C++

c++, rtti, typeid, typeof

Solution

You could use a dynamic_cast to test types as shown below:

IPlugin* iPluginPtr = NULL;
iPluginPtr = dynamic_cast<IPlugin*>(somePluginPtr);

if (iPluginPtr) {
    // Cast succeeded
} else {
    // Cast failed
}

Problem

How to simulate C# typeof-command behavior in C++? C# example: ``` public static PluginNodeList GetPlugins (Type type) { ... } ``` Call: ``` PluginManager.GetPlugins (typeof(IPlugin)) ``` How to implement this using C++? Maybe QT or Boost libraries provide a solution? What about the case if you want to implement .GetPlugins(...) in a way that it loads those kinds of objects from a file (.so or .dll)?

Original source