<div dir="ltr"><div>That doesn't follow. C++ doesn't have a GC to pick up the cycles, not it bakes RC into the language (and in fact, it is not that uncommon to see C++'s project rolling their own RC mechanism).<br></div></div><div class="gmail_extra"><br><div class="gmail_quote">2015-11-01 11:28 GMT-08:00 Andrei Alexandrescu <span dir="ltr"><<a href="mailto:andrei@erdani.com" target="_blank">andrei@erdani.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 11/01/2015 02:16 PM, deadal nix wrote:<br>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
2015-11-01 6:02 GMT-08:00 Andrei Alexandrescu <<a href="mailto:andrei@erdani.com" target="_blank">andrei@erdani.com</a><br></span>
<mailto:<a href="mailto:andrei@erdani.com" target="_blank">andrei@erdani.com</a>>>:<span class=""><br>
<br>
    On 10/31/2015 11:35 PM, Michel Fortin wrote:<br>
<br>
        I think it'd be more important to talk about auto-nulling weak<br>
        references. That's a general concept that is necessary if you want<br>
        reference counting to be useful and safe at the same time.<br>
<br>
<br>
    Agreed. We need to put weak pointers in the initial DIP and carry<br>
    them through.<br>
<br>
<br>
It' doesn't looks like this kind of mechanism should be baked into the<br>
language. It come with a cost that maybe one doesn't want to pay. Maybe<br>
one is ok to fallback on the GC on that one. Maybe it is preferable to<br>
provide several kind of RC. Adn weak reference are just one variation<br>
one may wish.<br>
</span></blockquote>
<br>
After much deliberation and collective experience, C++ chose to support weak_ptr as a complement to shared_ptr, in spite of the well-understood performance overhead. It is sensible to draw from that experience as well; also, I agree with Michel that safety makes it all the more important that we design weak pointer support in from day one. -- Andrei<br>
</blockquote></div><br></div>