gpt4 book ai didi

c++ - 什么时候我应该选择 boost spirit attr_cast 而不是语义 Action

转载 作者:行者123 更新时间:2023-11-30 02:52:11 27 4
gpt4 key购买 nike

这就是标题说明的一切。

在 boost spirit 气的情况下,我不明白什么时候 attr_cast 比转换值的语义 Action 更可取,比如:[_val = convert(_1)]

最佳答案

Attr_cast 可用于帮助 spirit 检测稍微不兼容的属性类型(例如 attr_cast<optional<bool>> 将“Just bool”更改为“Maybe bool”)并定义将在哪个级别拆分属性,例如

 string = '0' >> (repeat(3) [ qi::char_("0-9") ] % "'")

可能有不同的属性兼容性

 string = '0' >> attr_cast(repeat(3) [ qi::char_("0-9") ]) % "'"

另见:

  • 作为<>
  • 作为字符串
  • as_wstring

换句话说,我觉得 attr_cast 主要不是用于转换属性,而是用“预期暴露的属性结构”在子表达式中注释属性类型 ",而不必诉诸声明 qi::rule<> 来对其进行注释。

我只使用 attr_cast 作为“轻量级”规则。

关于c++ - 什么时候我应该选择 boost spirit attr_cast 而不是语义 Action ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19203249/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com