,
. ++ "must crash". undefined, . , undefined.
c_str ( , , char *, .
std::string. , , , .
, , , copy-on-write "COW", ++ 11. GCC .
. , GCC 5:
std::string , .
- , , , Visual ++ std::string. -, , std::string , , GCC, , Visual ++.
, ?
std::string , .
, .
a1 a2 - ,
( , " " ).
B , char * ( ) ?
std::string , . COW, , , .
GCC, std::string, , . , , , . , GCC:
~basic_string()
{ _M_rep()->_M_dispose(this->get_allocator()); }
_M_dispose ( ), , .
:
a std::string , , ?