1

我正在用 C++11 中的 K 类型键和 V 类型的值实现一个哈希表模板类。该表的所有内容都存储在std::list <std::pair <K,V> >. 现在我想以这样的方式实现这个表,客户端只能修改iteratorpair through的第二个元素,而不能修改 pair through 的任何元素。const_iteratoriteratorconst_iterator

我的第一个想法只是std::list <std::pair <const K,V> >用作存储并提供此列表的适当迭代器。问题是当我声明这种类型时std::list,总是返回begin(),当我尝试将它转换为使用这种方法时,它不起作用,因为在 libstdc++ 中只接收作为参数(这是 libstdc++ 的一个错误)。所以我不能投到.end()const_iteratoriteratoreraseiteratorconst_iteratoriterator

我怎样才能实现这样的迭代器?

4

0 回答 0