如何在C++中使用结构生成映射
How do I make a map using a struct in C++?
我正在尝试使用C++结构来制作一个简单的映射。
例如
如果我有
struct Map { char name; int age };
Map MapObj[] = { {'charles', 10}, {'kate', 20}, {'nate', 10} }
如何使用地图了解凯特的年龄?我试过MapjObj[凯特],但它不起作用。如何使用名称访问年龄?
您可以使用C++提供的<algorithm>
功能,特别是-std::find
;类似于:
auto pos = std::find(
std::begin(MapOjb),
std::end(MapObj),
[](const Map& m) { return m == "kate"}
);
但请注意:
name
必须是std::string
或char *
(在后一种情况下,您将使用strcmp()
,而不是纯字符串比较(Map
和MapObj
在这里的名字选择非常糟糕
将创建的数组的开头和结尾以及lambda函数传递给它。
相关文章:
- 如何在 C# 中映射双 C 结构指针?
- 如何在C++中使用结构生成映射
- C++匿名结构作为std::映射值
- 添加静态constexpr成员是否会更改结构/类的内存映射
- C++:映射结构中的结构指针
- 无法添加多个键以映射将结构作为键
- 如何在 c++ 中创建结构向量的映射
- c++ 嵌套结构映射找不到成员
- 带有结构映射的 C++ 向量?
- Unity C#和C 结构映射
- 使用 std::vector 将C++结构映射到 C#
- C++stl::使用结构映射find
- 如何在C++中把结构映射到字符正确的方法
- 更好的数据结构映射函数与多个参数(键)
- 将PolarSSL x509_cert结构映射到pkcs# 11 X.509对象
- 为什么我的JNA结构映射产生奇怪的字段值
- 在函数中填充结构映射的最好方法是什么?
- 如何解决声明结构映射时的编译错误
- 数据结构-C++映射:需要智能算法
- 使用字符串键初始化结构映射