我有一个无序的地图,我想测量它在我的程序中消耗了多少内存。 无序地图是这样的:
Key => int, int
Value => int, bool
我想以字节为单位找出地图的大小。 我正在使用.size()函数来查找容器中的元素数(map中的行数)。我正在计算像这样的无序地图的大小
unordermap.size() * (2bytes+2bytes+2bytes+1byte)
这是估计unordermap以字节为单位消耗的内存的正确方法吗?
答案 0 :(得分:0)
数据结构的内存占用量是堆栈上的大小+免费存储中的大小。您可以重新定义operator new / delete以添加分配的大小会计,然后执行简单的算术运算。你也可能需要为malloc / free做这件事。