rem: String::assign(const char *cc, int cclen)
add: String::assign(const String &s)
context: String::assign(const char *cc, int cclen){  if (!cc)    cclen = 0;  else if (cclen < 0)    cclen = strlen(cc);    if (cclen == 0) {    _memo = null_memo;    _memo->_refcount++;      } else {    // Make `capacity' a multiple of 16 characters at least as big as `cclen'.    int capacity = (cclen + 16) & ~15;    _memo = new Memo(cclen, capacity);    memcpy(_memo->_real_data, cc, cclen);  }    _data = _memo->_real_data;  _length = cclen;}