gpt4 book ai didi

boost-spirit-qi - qi::uint_parser() 应该准确解析什么?

转载 作者:行者123 更新时间:2023-12-04 06:58:55 26 4
gpt4 key购买 nike

从测试中我可以得到 qi::uint_parser<int>()qi::uint_ 相同.他们从 0 解析整数至 UINT_MAX .

我不明白的是qi::uint_parser需要 std::numeric_limits<T>::max()对数字基类型 T 有效.我不确定我是否应该假设 qi::uint_parser<int>()应该从 0 解析整数至 std::numeric_limits<int>::max()不是 std::numeric_limits<unsigned int>::max() .或者这个要求与解析器的范围无关?

最佳答案

我认为这是重复的 How to write a boost::spirit::qi parser to parse an integer range from 0 to std::numeric_limits<int>::max()?以及我记得在邮件列表中看到的问题。

由于它显然没有记录,你有没有测试过?

Or is this requirement has nothing to do with the parser's range?



我希望是后者。我希望属性类型说明属性,而不是解析器。解析器解析,属性传播赋给属性。关注点分离。

属性传播可能会进行 C++ 语言会进行的任何隐式转换。这其实和使用 unsigned 没什么区别在 scanf("%d")或使用 std::istream 读取无符号整数:
How to read unsigned int variables from file correctly, using ifstream?

我希望这一切都是真的,因为 C++ 结合了
  • 只为您需要的东西付费
  • 程序员知道他在做什么。

  • 其实这就是问题的根源:Spirit定义 qi::int_ , qi::uint_和 friend 。如果您使用底层证券 qi::[u]int_parser<> 拼凑出自定义组合模板,你告诉编译器“我知道我在做什么”。

    免责声明:所有这些都是非权威的。我什至没有检查代码/文档。我认为这本质上是一个文档问题,最好在 mailing list 上提问。

    关于boost-spirit-qi - qi::uint_parser<int>() 应该准确解析什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41020244/

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