DIP74 - where is at?
deadalnix via Digitalmars-d
digitalmars-d at puremagic.com
Sun Oct 11 16:37:11 PDT 2015
On Sunday, 11 October 2015 at 23:08:58 UTC, Manu wrote:
> Incidentally, I tried to use shared_ptr initially, but it took
> about 20 minutes before I realised I had to pass an rc pointer
> from a method... Since rc is a wrapper, like you said above,
> you lose it as soon as you're within a method.
And here you have it. You asked earlier how DIP25 and DIP74
connect, and this is where. If you want to ensure reference
counting safety, you must make sure that reference do not escape
in uncontrolled manner.
> I then had to write an invasive rc implementation and hard
> create a new rc instance from 'this', all over the place.
> Seriously, I don't understand how anyone can say shared_ptr is
> a success. It's a massive kludge, and it alone has me firmly
> convinced that rc is weak, inconvenient, and highly complicated
> without language support.
By C++'s standards, this is not that messy.
More information about the Digitalmars-d
mailing list