尝试在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]。但在我的情况下,所有的键(大量的键)将在内存中持久存在。