【发布时间】:2012-01-14 21:53:36
【问题描述】:
我将构造函数和两个函数添加到我之前链接的问题C++ iterate through a template Map 的类中,此时我需要帮助:
- 你认为这个构造函数是做什么的?
- 在地图的开头添加一个值?
- 我看到虽然在各自的键中只有一个地址作为在 main 中初始化后的值。怎么了?
运算符 [] 应该获取特定键的值。但是我不能使用它来获取输出中的地图元素。有什么提示吗?
template<class K, class V>
class template_map{
public:
template_map( V const& val) {
m_map.insert(my_map.begin(),std::make_pair(std::numeric_limits<K>::min(),val));
};
typedef typename std::map<K,V> TMap;
TMap my_map;
typedef typename TMap::const_iterator const_iterator;
const_iterator begin() const { return my_map.begin(); }
const_iterator end() const { return my_map.end(); }
V const& operator[]( K const& key ) const {
return ( --my_map.upper_bound(key) )->second;
}
...
};
int main()
{
interval_map<int,int> Map1 (10);
//Show the elements of the map?
}
还要考虑它应该是一个向地图插入值的函数。
【问题讨论】:
标签: c++ templates map iterator