Getting completely (I mean ENTIRELY) rid off GC

Kagamin via Digitalmars-d digitalmars-d at puremagic.com
Sat Sep 13 09:13:43 PDT 2014


On Saturday, 13 September 2014 at 12:05:59 UTC, po wrote:
>>> Smart pointers are rarely used, most C++ stuff is done by 
>>> value.
>>
>> Strings too?
>
>  Two string types are used.
>
> -std::string type: by value, has smaller buffer optimization, 
> used at startup/logging, and for any dynamic strings with 
> unbounded possible values

Are you sure? From basic_string.h:

	_CharT*
	_M_refcopy() throw()
	{
#ifndef _GLIBCXX_FULLY_DYNAMIC_STRING
	  if (__builtin_expect(this != &_S_empty_rep(), false))
#endif
             __gnu_cxx::__atomic_add_dispatch(&this->_M_refcount, 
1);
	  return _M_refdata();
	}  // XXX MT


More information about the Digitalmars-d mailing list