在 C++ 中将模板类型参数的 Map 存储到 Vector 中:Visual Studio

Storing a Map of template type arguments into a Vector in C++ : Visual Studio

我遇到这样的情况,我需要实现接受任何对象类型参数的 "map",因为到目前为止,我不知道我将把哪种类型的参数存储到 Map 中。稍后我需要将该 Map 存储到一个向量中。 我写的像:

 vector<Map>vect;

但是编译器说,我需要为 Map 指定参数类型。有没有办法像上面那样声明?如果我需要实现模板,谁能清楚地说出如何在地图中实现模板。我对 C++ 非常陌生。 在 Java 中,我可以直接将 map 存储到 ArrayList 中,但在 c++ 中,这对我来说非常复杂。请帮助我。

由于不知道map中对象的类型,可以使用void*或者unique_pointer。

std::vector<std::map<KeyType, void*>> vect;

或者,如果您的意思是所有值都继承自 Object,那么:

std::vector<std::map<KeyType, Object*>> vect;

作为旁注,您从未提及密钥类型,所以您可能是指 std::set 而不是地图?