4
我正在寻找一个C++ bitset实现,可以回答是否在一个范围内设置了一个位。 std::bitset,vector和boost::dynamic_bitset都允许访问我可以循环的各个位,但这不是查询位的范围以询问是否设置了任何位的最有效方式 - 我甚至不需要知道哪一个。如何查询一个范围内的任何位是否在C++ std :: bitset中设置?
bitset b;
if(b.any(33, 199))
{
// ...
}
是否有图书馆提供此功能?我想针对其他实现(包括我可能需要编写的一个实现)运行一些基准测试,但是我找不到实现此功能的任何基准。
你能提供一个链接吗?我在参考文献中看到一个“any()”,但没有基于一系列的位。 – JaredC
std :: bitset :: any():http://en.cppreference.com/w/cpp/utility/bitset/all_any_none,您使用的是C++ 11,对不对? –
我可以使用C++ 11,但我不认为你链接到的任何()都支持**范围**。即它不能回答“是否在[x,y]范围内的任何位?”这个问题。 – JaredC