當前位置:編程學習大全網 - 編程軟體 - c++ 為什麽hashmap占用內存多

c++ 為什麽hashmap占用內存多

c++ 中hashmap占用內存多的原因是基礎類型太少,對象用的太多導致的。

解決方法:

1、導入stl中的hash_map類庫

#include <hash_map>

using namespace std;

using namespace stdext;

2、hash_map是壹個聚合類

它繼承自_Hash類,包括壹個vector,壹個list和壹個pair,其中vector用於保存桶,list用於進行沖突處理,pair用於保存key->value結構,簡要地偽碼如下:

class hash_map<class _Tkey, class _Tval>

{

private:

typedef pair<_Tkey, _Tval> hash_pair;

typedef list<hash_pair> hash_list;

typedef vector<hash_list> hash_table;

};

3、用法舉例:

hash_map<int, int> IntHash;

IntHash[1] = 123;

IntHash[2] = 456;

int val = IntHash[1];

int val = IntHash[2];

  • 上一篇:快絲編程編壹個直徑6mm的圓怎麽編?
  • 下一篇:用匯編語言編寫若幹個無符號數中的最大值和最小值
  • copyright 2024編程學習大全網