1

我正在使用 Boost::Polygon - Polygon 90 Set Concept 来存储大量的矩形。不幸的是,我完成后无法取消分配内存。

这是一个最小的例子。我想在某个点取消分配多边形集的内存。clear() 命令不会取消分配(如文档中所述)。

任何人都知道如何在不超出范围的情况下取消分配?

#include <iostream>
#include <boost/polygon/polygon.hpp>

// Namespaces
using namespace std;
namespace bp = boost::polygon;

// Typedefs
typedef bp::rectangle_data<int> bpRect;
typedef bp::polygon_90_set_data<int> bpPolygonSet;

int main()
{

  bpPolygonSet ps;

  cout << "Filling" << endl;     
  for (int i=0; i<10000000; i++){
    bpRect rect(i, i, i+1, i+1);
    ps.insert(rect);
  }

  // clear() does not de allocate
  ps.clear();      
  cout << "Cleared" << endl;     

  std::cin.get();   

  return 0;
}
4

0 回答 0