是否有适用于迭代器的数字解析函数?
Is there a function for number parsing which works on iterators?
在 C++ 或 Boost 中有没有一种方法可以解析直接在 wstring
迭代器上工作的数字(unsigned long long
,如果可能)?它应该和 std::stoull
.
一样快
Boost.Spirit has an iterator-based API。据我所知,它应该比标准字符串转换函数更快。
#include <iostream>
#include <string>
#include <boost/spirit/include/qi.hpp>
int main()
{
namespace qi = boost::spirit::qi;
std::wstring s(L"4398046511104");
unsigned long long n = 0;
qi::parse( begin(s), end(s), qi::ulong_long, n );
std::cout << n << std::endl;
}
在 C++ 或 Boost 中有没有一种方法可以解析直接在 wstring
迭代器上工作的数字(unsigned long long
,如果可能)?它应该和 std::stoull
.
Boost.Spirit has an iterator-based API。据我所知,它应该比标准字符串转换函数更快。
#include <iostream>
#include <string>
#include <boost/spirit/include/qi.hpp>
int main()
{
namespace qi = boost::spirit::qi;
std::wstring s(L"4398046511104");
unsigned long long n = 0;
qi::parse( begin(s), end(s), qi::ulong_long, n );
std::cout << n << std::endl;
}