On 9/13/14, 9:13 AM, Kagamin wrote:
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

C++11 makes all refcounting implementations of std::string illegal. -- Andrei

Reply via email to