繁体   English   中英

如何衡量总STL容器内存消耗?

[英]How to measure total STL container memory consumption?

如标题所示:给定一个STL容器类型的对象(例如std::vector<int>std::set<MyClass> )我想知道它们的内存消耗---即---多少使用内存来存储元素,每个元素的辅助数据和容器大小。 我假设存储的对象不分配任何额外的内存。

对于std::vector<int> v我可以添加:

sizeof(std::vector<int>) + v.capacity()*sizeof(int)

因为向量不会为每个元素存储任何辅助数据。 但是我怎么能为其他容器做呢?

我可以忍受非恒定的时间复杂性。

创建自己的STL分配器并跟踪放置到它的内存请求的大小,然后jsut添加容器本身的大小。 本文概述了创建一个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM