Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
RapidXml的文档说
池维护 RAPIDXML_STATIC_POOL_SIZE 字节的静态分配内存。在静态内存耗尽之前,不会进行动态内存分配。当静态内存耗尽时,池通过使用全局 new[] 和 delete[] 操作符分配每个大小为 RAPIDXML_DYNAMIC_POOL_SIZE 的额外内存块
我将其解释为:RapidXML 使用全局内存池。全局内存池线程上的操作是否安全?即,我可以在整个程序中使用多个 RapidXML 解析器实例而不必考虑线程问题吗?
我的解释是错误的。“静态内存池”是放置在堆栈上的数组。因此,它不像 C++ 静态数组那样是静态的,而是像“非动态分配”那样是静态的。
结论:RapidXML 不共享实例之间的内存池。因此这个问题是无效的。