vextor里面放map,c++实现
时间: 2024-10-17 11:09:36 浏览: 20
Vector容器在C++中主要用于存储同类型的元素序列,而Map容器则用于关联任意类型的键值对。如果你想将Map放入Vector中,可以创建一个包含Map的自定义结构体或者类,并将这个结构体作为Vector的元素。
例如:
```cpp
#include <vector>
#include <map>
// 定义一个包含Map的结构体
struct MyData {
std::string key;
std::map<int, int> value_map; // 存储键值对
};
int main() {
std::vector<MyData> data_container;
// 添加元素到Vector
MyData item1;
item1.key = "Key1";
item1.value_map.insert({1, 10});
data_container.push_back(item1);
MyData item2;
item2.key = "Key2";
item2.value_map.insert({2, 20});
data_container.push_back(item2);
// 现在data_container是一个包含了Map元素的Vector
for (const auto& item : data_container) {
std::cout << "Key: " << item.key << ", Value Map: {";
for (const auto& pair : item.value_map) {
std::cout << pair.first << ": " << pair.second << ", ";
}
std::cout << "}\n";
}
return 0;
}
```
在这个例子中,每个MyData实例都存储了一个字符串key和一个整数键值对的Map。你可以根据需要调整这个结构。
阅读全文