我正在用 C++11 中的 K 类型键和 V 类型的值实现一个哈希表模板类。该表的所有内容都存储在std::list <std::pair <K,V> >
. 现在我想以这样的方式实现这个表,客户端只能修改iterator
pair through的第二个元素,而不能修改 pair through 的任何元素。const_iterator
iterator
const_iterator
我的第一个想法只是std::list <std::pair <const K,V> >
用作存储并提供此列表的适当迭代器。问题是当我声明这种类型时std::list
,总是返回begin()
,当我尝试将它转换为使用这种方法时,它不起作用,因为在 libstdc++ 中只接收作为参数(这是 libstdc++ 的一个错误)。所以我不能投到.end()
const_iterator
iterator
erase
iterator
const_iterator
iterator
我怎样才能实现这样的迭代器?