我正在使用 Google 的sparsehashmap,并尝试确定是否插入或查找了一个值。以下工作,但显然它正在查找两次。如果没有双重查找,我该怎么做?
Element newElement = Element();
bool inserted = ((*map).insert(pair<const int64, Element>(key, newElement))).second;
Element element = (*(((*map).insert(pair<const int64, Element>(key, newElement))).first)).second;
if (inserted)
puts("INSERTED");
我无法检查 Element 的内容(它是一个结构),因为我想区分找到的默认 Element 和插入的 newElement。我不知道如何分配((*map).insert(pair<const int64, Element>(key, newElement)))
给一个变量,因为它是一个模板类型,其中包括类私有的sparse_hash_map
类型。