C++ 使用 std::map 存储字符串键值对和结构体
在 C++ 中,可以使用 std::map 来实现键为 std::string,值为结构体的映射。
首先,定义一个结构体,例如 MyStruct:
struct MyStruct {
int value1;
float value2;
// 其他成员变量
};
然后,使用 std::map 来创建映射:
#include <iostream>
#include <map>
#include <string>
int main() {
// 定义结构体
struct MyStruct {
int value1;
float value2;
// 其他成员变量
};
// 创建 map
std::map<std::string, MyStruct> myMap;
// 添加元素
MyStruct struct1 = {10, 3.14};
myMap['key1'] = struct1;
MyStruct struct2 = {20, 2.718};
myMap['key2'] = struct2;
// 访问元素
std::cout << myMap['key1'].value1 << ", " << myMap['key1'].value2 << std::endl;
std::cout << myMap['key2'].value1 << ", " << myMap['key2'].value2 << std::endl;
return 0;
}
在上面的示例中,我们首先定义了一个 MyStruct 结构体,包含两个成员变量 value1 和 value2。然后,我们使用 std::map 创建了一个映射 myMap,其中键的类型为 std::string,值的类型为 MyStruct。接下来,我们添加了两个元素到映射中,然后通过键来访问对应的值。
输出结果为:
10, 3.14
20, 2.718
这样就实现了使用 std::map 来存储键为 std::string,值为结构体的映射。
原文地址: https://www.cveoy.top/t/topic/p8dA 著作权归作者所有。请勿转载和采集!