【发布时间】:2011-04-02 06:40:20
【问题描述】:
我有一个 stl unordered_map,我想在该地图中存储对元素的引用。我希望没有重复的引用。我想我可以创建一组指向元素的迭代器。一方面,我不确定它是否会识别,但即便如此,我还是遇到了一些很长的模板错误,我认为这些错误归结为没有用于迭代器的比较运算符
然后我尝试使用 g++ -std=c++0x 编译一个无序集,但出现了错误页面。
我怎样才能实现这个目标?
#include <set>
#include <unordered_map>
#include <unordered_set>
int main() {
typedef std::unordered_map<int, float> umap;
umap my_map;
umap::const_iterator itr;
for (int i=0;i<10000000;i++) {
my_map[i] = float(i);
}
umap::iterator my_it1 = my_map.find(43);
umap::iterator my_it2 = my_map.find(44);
umap::iterator my_it3 = my_map.find(44);
std::unordered_set<umap::iterator> my_its;
my_its.insert(my_it1);
my_its.insert(my_it2);
my_its.insert(my_it3);
return 0;
}
【问题讨论】: