On Friday, 13 September 2013 at 16:43:01 UTC, Namespace wrote:
Another use case of delete, which is unfortunately deprecated. ;)
----
import std.stdio;
import core.memory;

class A {
        ~this() { writeln(`dtor`); };
};

void main() {
        auto a = new A;
        delete a;
        writeln(`after dtor`);
}
----

Ooutput:
dtor
after dtor


//http://dlang.org/memory.html


import std.c.stdlib;
import core.exception;
import core.memory : GC;
import std.stdio;



class TObject
{
    new(size_t sz)
    {
        void* p;

        p = std.c.stdlib.malloc(sz);

        if (!p)
            throw new OutOfMemoryError();

        GC.addRange(p, sz);
        writeln("Memory Allocation", sz);
        return p;
    }

    delete(void* p)
    {
        if (p)
        {
            GC.removeRange(p);
            std.c.stdlib.free(p);
            writeln("Memory Removal");
        }
    }
}

class TComponent: TObject
{
        int number;
}

int main()
{
        TComponent obj = new TComponent();
        delete obj;
        writeln("testing the code");
        return 0;
}


//What is the replacement for delete?

Reply via email to