Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 我需要帮助选择正确的c++;容器_C++ - Fatal编程技术网

C++ 我需要帮助选择正确的c++;容器

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<

关键是:(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<uint64, bool> container;
bool val=true;
uint32 x,y;//钥匙
uint64组合=x
map,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;