tinyxml_settattr

TiXmlString& TiXmlString::assign(const char* str, size_type len)
{
    size_type cap = capacity();
    if (len > cap || cap > 3*(len + 8))
    {
        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的代码看着很舒服。感觉这里很有意思。

posted on 2013-10-15 07:33  shizuka  阅读(155)  评论(0)    收藏  举报

导航