就是这个标题说明了一切。
在提升精神气的情况下,我不明白 attr_cast 何时比转换值的语义动作更可取,比如:[_val = convert(_1)]
就是这个标题说明了一切。
在提升精神气的情况下,我不明白 attr_cast 何时比转换值的语义动作更可取,比如:[_val = convert(_1)]
Attr_cast 有助于精神检测稍微不兼容的属性类型(例如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") ]) % "'"
也可以看看:
换句话说,我觉得强制转换属性值attr_cast
并不是主要有用的,而是用“预期的公开属性结构”来注释子表达式中的属性类型,而不必诉诸于声明 a来注释它。qi::rule<>
我只attr_cast
用作“轻量级”规则。