c++ - TypeScript Record 类型,C++ 等效
问题描述
下面的 TypeScript 段落定义了一个对象类型列表和一组与字符串匹配的函数,以确定应该将哪个标签分配给字符串。
enum m {
a,
b,
c
}
type obj = {
source: string,
type: m
}
const n: Record<m, (char: string) => boolean> = {
[m.a](char: string) => false,
[m.b](char: string) => false,
[m.c](char: string) => false,
}
我的目标是使用此代码进行词法分析,并且为了提高速度,我想使用 C++,但是由于我对它很陌生,我不知道如何将它翻译成 C++。如果可能的话,我希望尽可能接近翻译,因为这有助于我更容易理解代码在做什么。
我尝试使用以下代码段来实现相同的行为,但我远没有足够的经验来解决除此之外的任何事情。
bool fitsM(m type, std::string source) {
if (type === m::a)
return false; // do some checks here
else if (type == m::b)
return false; // more checks
else if (type == m::c)
return false; // yet more checks
else
return false;
}
显然,这将起作用,但是,如前所述,我正在寻找一种更类似于打字稿方法的方法。
谢谢你的帮助
解决方案
推荐阅读
- k3d - 无法将图像推送到 K3d 本地存储库
- mysql - Mysql:选择更新从“不匹配条件”中得到结果
- python - Django 模型函数实现自动初始化特定字段的值
- python - 如何将我的 Dataframe 中的 Info 列拆分为 6 个单独的列?
- python - 即使发生错误,如何让代码继续运行
- typescript - 使用 prettier 解决 no-duplicate-imports eslint 错误
- xamarin.forms - Xamarin 社区工具包 AsynCommand 不工作
- swift - 是否可以滚动分层在 UITableView 之上的滚动视图?
- python - 我无法运行 streamlit
- javascript - 时间间隔未重置,但是相同的代码在另一个站点上运行良好