TiXmlString& TiXmlString::assign(const char* str, size_type len)
{
size_type cap = capacity();
if (len > cap || cap > *(len + ))
{
TiXmlString tmp;
tmp.init(len); //这里有new操作
memcpy(tmp.start(), str, len);
swap(tmp);
}
else
{
memmove(start(), str, len);
set_size(len);
}
return *this;
} //////////////////////////////// void swap (TiXmlString& other)
{
Rep* r = rep_;
rep_ = other.rep_;
other.rep_ = r;
} ///////////////////////////////// ~TiXmlString ()
{
quit(); //里面有delete操作
}
跟了下tinyxml,感觉tinyxml的代码看着很舒服。感觉这里很有意思。