是否可以在c ++中创建类型向量?

use*_*311 4 c++ c++11

是否可以在c ++中创建类型向量?

也许c ++ 11中的decltype可以用于此吗?

我需要这个,以便我可以迭代这个向量,获取类型,即类,并创建这样的实例.

ere*_*non 5

您可以创建工厂模板:

class BaseFactory {
public:
    virtual void* create() const = 0;
};

template <typename T>
class Factory :public BaseFactory {
public:
    T* create() const {
        return new T();
    }
};
Run Code Online (Sandbox Code Playgroud)

并将这些Factory实例存储在Vector中.但是,我没有太多使用它.要简单地将类型存储在向量中,请查看boost的MPL向量.