我正在做一个关于 C++ 的项目,并且我是该语言的新手。
我正在使用一个函数,它必须执行从 0x00 到 0xFF 的十六进制数字,并且有人告诉我我可以用地图来做到这一点。
问题是,到目前为止,在我看到的示例中,我只看到它仅用于一个条目,而我需要根据特定范围做一些事情。
有没有办法在地图中做到这一点,或者我需要使用其他东西来完成所需的功能?
如果理解正确,您将一些值存储在映射中,键是从 0x00 到 0xFF 的值?可能的解决方案可能是:
typedef std::map<unsigned char, int> values;
void print( values::const_iterator begin, values::const_iterator end );
values v;
// print range [0x01,0x20]
print( v.lower_bound( 0x01 ), v.upper_bound( 0x20 ) );
// print range [0x10,0x40[
print( v.lower_bound( 0x10 ), v.lower_bound( 0x40 ) );
// print range ]0x20,0x50[
print( v.upper_bound( 0x20 ), v.lower_bound( 0x50 ) );
那是你需要的吗?