On Monday, 18 August 2014 at 12:06:27 UTC, Kagamin wrote:
On Monday, 18 August 2014 at 10:01:59 UTC, maik klein wrote:
Does a GC still have advantages over heap allocations that do not need to be reference counted such as the unique_ptr in c++?

Isn't unique_ptr unique? What to do when the object is non-unique?
Not sure what you mean by unqiue. It's like a reference counted object but with a counter of 1, meaning if it goes out of scope it will be deleted. (But it does not do any reference counting).

I think D also has a unique ptr. https://github.com/D-Programming-Language/phobos/blob/master/std/typecons.d#L58

Is it correct that when I create a class it will always be on the heap and therefore be garbage collected?

class Foo
..

So I don't have the option to put a class on the stack like in C++?

auto foo = Foo(); //stack
auto foo_ptr = new Foo(); // heap

If I do something like:

auto ptr = Unique(Foo);

Would the GC still be used, or would the resource be freed by the destructor?




Reply via email to