如标题所示:给定一个STL容器类型的对象(例如std::vector<int>
或者std::set<MyClass>
)我想知道它们的内存消耗---即---存储元素消耗了多少内存,每个元素的辅助数据和容器大小.我假设存储的对象不分配任何额外的内存.
对于std::vector<int> v
我可以添加:
sizeof(std::vector<int>) + v.capacity()*sizeof(int)
Run Code Online (Sandbox Code Playgroud)
因为向量不会为每个元素存储任何辅助数据.但是我怎么能为其他容器做呢?
我可以忍受非恒定的时间复杂性.