On Monday, 27 November 2017 at 06:47:00 UTC, Dmitry Olshansky wrote:
Last time I check shared_ptr can be safely shared across threads, hence RC is takling synchronization and most likely atomics since locks won’t be any better.

The controlblock can, but it is crazy to use shared_ptr for anything more than high level ownership. It is a general solution with weak pointers and extra indirection, not a typical RC implementation for datastructures.

In C++ sync is manual, which is the only efficient way to do

??? shared_ptr is nowhere manual.

There is an upcoming atomic_shared_ptr, but it is not in the standard yet.

My post is about particular primitive in C++ std, what could be done instead or in addition to is not important.

Oh, but it is.

1. D currently does not provide what you says it does.

2. Sane C++ programmers rarely use shared_ptr for more than exchsnging ownership (suitable for sharing things like bitmap textures). There are plenty of other RC implementations for tracking memory. So you compare apples and oranges.



Reply via email to