gpt4 book ai didi

c++ - boost::spirit(经典):|之间的区别和^?

转载 作者:行者123 更新时间:2023-11-30 05:11:54 24 4
gpt4 key购买 nike

Doc 说(精神经典):

a | b, Union, Match a or b. Also referred to as alternative

a ^ b, XOR, Match a or b, but not both.

谁能在重要的时候给我举个实际例子?

编辑:请给我实际的例子。创建规则,使用一些参与者,解析一些东西并告诉我不同​​之处。我知道 OR 和 XOR 是什么,但我没有看到 | 之间的 boost::spirit 结果有任何区别。和^。

std::string t;
boost::spirit::classic::rule<> r = ( ch_p( 'a' ) ^ ch_p( 'b' ) )[ assign_a( t ) ];
//boost::spirit::classic::rule<> r = ( ch_p( 'a' ) | ch_p( 'b' ) )[ assign_a( t ) ];
boost::spirit::classic::parse( "when it matters?", r );

最佳答案

boost::spirit 中的

Operator ^ (XOR) 创建解析器的“异或”组合。我没听懂,因为我将主题插入了 str_p/ch_p 解析器。

感谢@llonesmiz,我从他那里得到了最好的例子:

parse( "Z", alpha_p ^ xdigit_p );

关于c++ - boost::spirit(经典):|之间的区别和^?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44822122/

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