https://github.com/Unipisa/CMM
Raw File
Tip revision: 0e186db83a043dcfe9c666dd4c90f9e8d1b9234e authored by Giuseppe Attardi on 27 October 1994, 11:26:20 UTC
1.1 -
Tip revision: 0e186db
test6.C
#include "HeapStack.H"

class MyClass : GcObject 
{
  int x;
  MyClass *y;
public:
  void test() { cout << "Testing ... Ok\n" ; }
  void traverse() { CmmHeap::heap->scavenge((GcObject **)&y); }
};


main()
{
  MyClass *MyVar;
  CmmHeap *MyHeap = new BBStack(100000);

  GcArray<MyClass> * MyVector = new (100, heap) GcArray<MyClass> ;

  //  Instead of 
  //  .... MyVar = new MyClass[100];
  //  Use ....
  MyVar = (MyClass *) new (sizeof(MyClass) * 100, MyHeap) GcVarObject ;

  MyVar[2].test();

  heap->collect();

  MyVar[2].test();
}
back to top