gpt4 book ai didi

c++ - 将模板类型参数的映射存储到 C++ 中的 Vector : Visual Studio

转载 作者:行者123 更新时间:2023-11-30 05:16:05 25 4
gpt4 key购买 nike

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

 vector<Map>vect;

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

最佳答案

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

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

或者如果您实际上是说所有值都继承自 Object,那么:

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

作为旁注,您从未提及 key 类型,所以也许您指的是 std::set 而不是 map?

关于c++ - 将模板类型参数的映射存储到 C++ 中的 Vector : Visual Studio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42825349/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com