我正在为我的数据结构类编写一个哈希表,并且我想为我的实现添加一点语法糖。重载括号访问和分配C++
template <typename HashedObj, typename Object>
Object & Dictionary<HashedObj, Object>::operator[](HashedObj & key)
{
return items.lookup(key);
}
,当我做类似的cout < <的dict [ “的myKey”]这工作正常。 但是我怎样才能使用括号进行赋值?喜欢的东西:
dict["mykey"] = "something";
不,这不是我的家庭作业(没有双关语意),我只是想学C++好一点的一部分。
顺便说一句,你用什么类型的'HashedObj'当你声明你的Dictionary用于字符串键?像上面例子中的“mykey”一样。 – AnT 2009-10-24 18:38:19
因为你正在返回一个引用,赋值操作符应该按照你期望的方式工作。唯一的问题发生在lookup()找不到key时,你会怎么做? – 2009-10-24 20:01:01
在我的测试中,我使用字符串: Dictionary dict; –
Matt
2009-10-24 20:28:49