我有一个哈希表,定义如下:
typedef std::unordered_map<unsigned long long int,unsigned long long int> table_map;
在程序中,我使用fread将文件的内容读入缓冲区,代码如下:
fread(buffer, sizeof(long long int), 1024, file1);
我将哈希表声明为
table_map c1;
现在我创建了一个类似哈希表的数据结构,代码如下:
for (i = 0; i < 1024; i++)
c1.insert(table_map::value_type(buffer[i], i));
现在我的问题是,在for循环之后,如何获取哈希表的大小?
它有1024个unsigned long long int类型的元素和相同类型的键,但我不能使用
sizeof(Mymap)
或`size of(c1)`,因为它只返回值32。有没有办法找到它?谢谢, Sunil
c1.size() * sizeof(table_map::value_type)
相乘。但是,这并不代表总内存开销。 - Potatoswatter