在运行时确定std :: map/std :: set的内存使用情况

Tho*_* W. 0 c++ memory-management stl

是否有可能在运行时确定std :: map/std :: set(内部数据类型)的实际内存使用情况?我做了一些内存研究,看起来这很大程度上取决于STL实现和使用的系统(由于底层结构的内存填充).我想在运行时监视这些数据类型的内存使用情况,而不运行调试器/内存分析器.有没有办法做到这一点?

Grz*_*man 9

实现一个自定义分配器,它将计算所使用的mmeory,并将其提供给map/set的构造函数.

  • 注意:由于(可能)分配中的碎片,将真正使用的内存与进程消耗的内存的影响相关联起来相对困难. (2认同)