John Carmack applauds D's pure attribute

Walter Bright newshound2 at digitalmars.com
Sun Feb 26 11:26:41 PST 2012


On 2/26/2012 7:04 AM, Simon wrote:
> On 26/02/2012 03:22, Walter Bright wrote:
>> On 2/25/2012 4:01 PM, Simon wrote:
>>> On 25/02/2012 22:55, Walter Bright wrote:
>>>> Enter C++'s shared_ptr. But that works by, for each object, allocating a
>>>> *second* chunk of memory to hold the reference count. Right off the bat,
>>>> you've got twice as many allocations & frees with shared_ptr than a GC
>>>> would have.
>>>
>>> http://www.boost.org/doc/libs/1_43_0/libs/smart_ptr/make_shared.html
>>>
>>> so you don't have to have twice as many allocations.
>>
>> There are many ways to do shared pointers, including one where the
>> reference count is part of the object being allocated. But the C++11
>> standard share_ptr does an extra allocation.
>
> The stl one is based on boost, so it has make_shared as well:
>
> http://en.cppreference.com/w/cpp/memory/shared_ptr
>
> and it's in vs 2010
>
> http://msdn.microsoft.com/en-us/library/ee410595.aspx
>
> Not that I'm claiming shared pointers are superior to GC.

At the GoingNative C++ conference, the guy who is in charge of STL for VS said 
that it did an extra allocation for the reference count.


More information about the Digitalmars-d mailing list