How to free memory ater use of "new" to allocate it.

Alain De Vos devosalain at ymail.com
Mon Jul 17 10:17:37 UTC 2023


The following code works:

```
import std.stdio:writefln;
import object: destroy;
import core.memory: GC;
import core.stdc.stdlib: malloc,free;
import std.typecons;

class C {
      int * pa;
      int [] a;
         // Constructor
         this() {writefln("Called constructor");
            pa=cast(int *)malloc(1000*int.sizeof);
            a=pa[0..1000];
           }

    ~this(){
       writefln("Called Destructor");
       free(a.ptr);}

}

void dofun()
{
    auto x=scoped!(C);
    x.a[3]=5;
    writefln("%12x",&x);

}
int main(){
    dofun();
    dofun();
    return 0;

}


```



More information about the Digitalmars-d-learn mailing list