Boost Spirit 中 > 和 >> 之间的区别

P0W*_*P0W 5 c++ boost-spirit

我正在学习 Boost-Spirit,从这里和StackOverflow 的例子。

但是,我无法找到>>> “后跟”序列运算符之间的区别?

例如,这里的区别:-

        qi::phrase_parse(startIt
        , endIt
        , par_ob > ';' // par_ob >> ';' ??
        , qi::space
        , result
        );
Run Code Online (Sandbox Code Playgroud)

小智 3

阅读文档你会发现:

与序列一样,期望运算符 a > b 按顺序解析两个或多个操作数(a、b、...等):

a > b > ...

但是,当其中一个元素失败时,普通 Sequence 只是返回不匹配(返回 false),而当第二个或后续操作数(除第一个操作数之外的所有操作数)无法匹配时,expectation: > 运算符会抛出 Expectation_failure。

看: