rapidxml

rapidxml快速有以下原因:

1)使用memory pool分配及释放内存。rapidxml默认每次申请64K的空间,如果当前pool中的空间不足,则会以64K空间的大小逐步增加。试想,连续申请16000次每次申请4个字节,和申请一次64K,之间谁的时间短?当然是一次时间短。

2)避免多余的字符串拷贝。无疑,字符串拷贝是非常耗时的,rapidxml为了追求rapid的特点,在内部拷贝时都只使用浅拷贝(与深拷贝相对:只是拷贝指针的值,而不是拷贝指针指向的内容)。不过也由此,使用者在保存xml文件时,需要注意一点:当将rapid写入到内存之前,应保证浅拷贝时指针指向的内容没有发生改变。否则,你会发现保存的文件内容都是错误的值。

rapidxml.hpp:

         只要文件 实现内存池 解析string 异常处理

xml_base 基数节点类

xml_attribute 文本类

xml_node 节点类

xml_document 文档类

rapidxml_iterators.hpp:

         提供两个迭代器类:node_iterator, attribute_iterator

rapidxml_print.hpp:

         提供跟字符串,流对象的装换函数

rapidxml_utils.hpp:

         提供一个file用来读取文件使用

         跟两个计数函数 count_children,count_attributes


posted @ 2012-03-04 13:55  Lesterwang  阅读(1344)  评论(0编辑  收藏  举报