c++ - 如何使用 C++ 中的结构制作地图?
问题描述
我想做的是使用 C++ 结构来制作一个简单的地图。
例如,
如果我有
struct Map { char name; int age };
Map MapObj[] = { {'charles', 10}, {'kate', 20}, {'nate', 10} }
如何使用地图查看凯特的年龄?我试过 MapjObj['kate'] 但它不起作用。如何使用名称访问年龄?
解决方案
您可以使用<algorithm>
C++ 提供的工具,特别是 - std::find
; 就像是:
auto pos = std::find(
std::begin(MapOjb),
std::end(MapObj),
[](const Map& m) { return m == "kate"}
);
但请注意:
name
必须是 anstd::string
或 achar *
(在后一种情况下,您将使用strcmp()
,而不是纯字符串比较)。Map
并且MapObj
这里的名字选择非常糟糕......
将您创建的数组的开头和结尾以及 lambda 函数传递给它。
推荐阅读
- mysql - org.apache.ibatis.type.TypeException:无法设置映射参数:ParameterMapping
- php - 如何将arraylist每个数据推送到php中的数组
- java - 将整数列表中的每一行转换为整数数组?
- javascript - 为什么在函数外部声明的变量不能在函数内部使用?
- python - 实现向量化反向传播不收敛
- sql - 使用外连接计数仅返回计数不为零的数据
- json - 带有 API 的 Apache Drill S3 存储
- java - 如何在 Android 的 WebView 中显示 PDF?
- reactjs - 属性“startHeaderHeight”不存在错误
- rational-team-concert - 如何获取有关 scm list changes 返回的更改的更多信息?