c++ map 结构体作为value
时间: 2023-07-01 15:21:37 浏览: 274
可以使用C++ STL中的map容器来将结构体作为value。具体实现可以参考以下示例代码:
```cpp
#include <iostream>
#include <map>
#include <string>
using namespace std;
struct Student {
string name;
int age;
string gender;
};
int main() {
map<int, Student> stu_map;
// 添加元素
Student s1 = {"Tom", 18, "male"};
stu_map.insert(pair<int, Student>(1, s1));
stu_map[2] = {"Lucy", 19, "female"};
// 遍历元素
for (auto iter = stu_map.begin(); iter != stu_map.end(); ++iter) {
cout << "key: " << iter->first << ", value: " << iter->second.name << ", " << iter->second.age << ", " << iter->second.gender << endl;
}
return 0;
}
```
在上述代码中,我们定义了一个结构体`Student`,然后使用map容器将其作为value,其中key是int类型。我们可以通过`insert`或`[]`来添加元素,也可以使用迭代器遍历map并输出元素。
阅读全文