读书人

怎么知道stl 容器对象具体使用了多少内

发布时间: 2012-02-09 18:22:27 作者: rapoo

如何知道stl 容器对象具体使用了多少内存?
vector <T> v;
v.push_back(T1);
v.push_back(T1);
v.push_back(T1);

此时如何得到 v 实际使用了多少内存?

[解决办法]
错了,这个是开辟了多少个元素空间
需要乘一下sizeof(T)
在加上vector本身所占的空间
[解决办法]
还要说明一点 capacity()* sizeof(T) 得到的是vector在堆中为保存元素分配的内存。
一个vector对象还有自己的元素,这些也要占用内存的
[解决办法]
这个问题没有太大意义。建议看《STL源码剖析》
stl的内存管理可不是这么单纯的。

读书人网 >C++

热点推荐