0
我有一個boost bimap
如何找到內存利用由升壓bimap的
#include <iostream>
#include <utility>
#include <boost/bimap.hpp>
#include <boost/bimap/set_of.hpp>
#include <boost/bimap/multiset_of.hpp>
namespace bimaps = boost::bimaps;
typedef boost::bimap<bimaps::set_of<unsigned long long int>,
bimaps::multiset_of<unsigned long long int > > bimap_reference;
typedef bimap_reference::value_type position;
bimap_reference numbers;
int main()
{
numbers.insert(position(12345689, 1000000000));
numbers.insert(position(23456789, 8000000000));
return 0;
}
我有大約1.8項。理論上應該佔用〜2.7GB的空間(180000000 * 8 * 2 = 2880000000字節= 2880000000/1024 * 1024 * 1024 =〜2.7GB)。現在我想找到boost bimap
所用的實際空間,我該怎麼做。
您可能超載全球'new'和'delete'運營商,並轉發給'malloc',但加入了計數器跟蹤分配的字節。在填充「bimap」之前重置計數,填充它並打印字節數。 –
@MatteoItalia,謝謝,一個例子會非常有幫助。 – AwaitedOne