我正在尝试使用模板双向链表实现 map 。
我正在尝试编写一个获取函数:
valueType get (keyType key, bool & success) const;
返回与给定键关联的值。
如果key存在于map中,success应设置为true。
如果 key 没有关联,则应将 success 设置为 false。
get 函数将用于用户访问 map ,以及要检查是否存在的 add()
和 remove()
函数是给定键和值之间的关联。
如果值不存在,我对返回什么感到困惑?因为,此函数返回类型 valueType
最佳答案
我会像这样反过来做(部分伪代码):
bool get(const keyType& key, valueType& value) const
{
// search for value
if(/*value found*/)
{
value = /*found value*/; // set parameter to found value
return true;
}
return false; // leave value unchanged
}
像这样使用函数:
valueType value;
if(get("key", value))
{
// we know key was found and value was set
}
else
{
// we know key was not found and value is unchanged
}
关于c++ - 使用双向链表实现 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25820244/