在执行unordered_map时避免使用malloc()

时间:2015-04-14 16:08:52

标签: c++ stl unordered-map

尝试在C ++中使用has map。问题是,当我添加mymap["U.S."] = "Washington";之类的常量条目时,它使用malloc()(我在malloc()上使用带有断点的gdb时验证了)。对malloc的不必要调用会降低性能,因此我尽量避免使用它。有什么想法吗?

#include <iostream>
#include <unordered_map>

int main ()
{
  std::unordered_map<std::string,std::string> mymap;
  mymap["U.S."] = "Washington";
  std::cout << mymap["U.S."] << std::endl;

  return 0;
}

我知道当密钥的范围很短时,malloc是必要的,因为即使在密钥被销毁之后,也可能需要使用mymap [key]。但在我的情况下,所有的键(大量的键)将在内存中持久存在。

0 个答案:

没有答案