C++ 我需要帮助选择正确的c++;容器
关键是:(x,y),这意味着2个整数 值为:0或1 我经常对这个散列映射进行迭代操作C++ 我需要帮助选择正确的c++;容器,c++,C++,关键是:(x,y),这意味着2个整数 值为:0或1 我经常对这个散列映射进行迭代操作 哪种数据结构是合适的?我使用C++ STL或Tr1。不要考虑Boo. < P>,显然存储的数据格式是Boo. 对于键格式,如果您知道这些整数的位大小,并且性能是必须的,我将使用一个关联数组(在C++中称为map),其中包含两倍的位宽整数作为键: bool val = true; uint32 x, y; // key uint64 combo = x << 32 + y; std::map<
哪种数据结构是合适的?我使用C++ STL或Tr1。不要考虑Boo. < P>,显然存储的数据格式是Boo. 对于键格式,如果您知道这些整数的位大小,并且性能是必须的,我将使用一个关联数组(在C++中称为
map
),其中包含两倍的位宽整数作为键:
bool val = true;
uint32 x, y; // key
uint64 combo = x << 32 + y;
std::map<uint64, bool> container;
bool val=true;
uint32 x,y;//钥匙
uint64组合=xmap,bool>cont;
我会使用std::hash\u映射或std::map。
但是,我不确定哪种方法可以提高性能。我建议使用适当的hashmap(与std::map不同,不是hashmap):
typedef std::tr1::无序地图MyContainer;
MyContainer m_MyContainer;
你想改变/获得什么?他问了一个诚实的问题马里奥,所以不要吹毛求疵。记住英语可能不是他的母语。还有一个问题,那么我如何使用find()来解决这个问题?那是“a.find()”吗?假设a已经定义了.container.find(std::make_pair(x,y))
std::map<std::pair<int, int>, bool> container.
map< pair< int, int >, bool > cont;
typedef std::tr1::unordered_map<pair<int, int>, bool> MyContainer;
MyContainer m_myContainer;