每次在vs2013中的c++程序中实现string类时,在连接和拷贝函数时,以下用连接
举例。每次开辟好一段空间后,将this的字符串一个一个给到新空间,然后再把传的对象
的字符串一个一个连到新空间后面时,总会出现该问题
而我的代码是这样写的:
String& operator+=(const String& s)
{
int length1 = strlen(_pStr);
int length2 = strlen(s._pStr);
char* p = s._pStr;
char* tmp = new char[length1 + length2 + 1];
while (*_pStr)
{
*tmp = *_pStr;
tmp++, _pStr++;
}
_pStr = tmp;
while (*p)
{
*_pStr = *p;
_pStr++, p++;
}
*_pStr = '\0';
return *this;
}