<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>StdExt/WinxGui/Erlang/Erlana - 许式伟的专栏 - </title><link>category/373380.aspx</link><description /><dc:language>zh-CN</dc:language><lastUpdateTime>Fri, 30 May 2008 09:30:00 GMT</lastUpdateTime><ttl>60</ttl><item><dc:creator>许式伟</dc:creator><title>TPL: 一个新的正则表达式（regex）库</title><link>http://blog.csdn.net/xushiweizh/archive/2008/05/29/2491947.aspx</link><pubDate>Thu, 29 May 2008 01:23:00 GMT</pubDate><guid>http://blog.csdn.net/xushiweizh/archive/2008/05/29/2491947.aspx</guid><wfw:comment>comments/2491947.aspx</wfw:comment><comments>http://blog.csdn.net/xushiweizh/archive/2008/05/29/2491947.aspx#Feedback</comments><slash:comments>9</slash:comments><wfw:commentRss>comments/commentRss/2491947.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2491947</trackback:ping><description>C++ 中正则表达式（regex）库已经很多。光 boost 中就有3个：regex、spirit、xpressive。那么我们为什么还需要一个新的呢？多数正则表达式库都需要一个编译（compile）过程。即：通过解释一个正则表达式的字符串（pattern）来生成该正则表达式的内部表示（字节码）。例如 boost regex 就是这样。这类我们称之为动态正则表达式库。spirit、xpressive 例外。他们直接通过重载 C++ 的操作符来表达一个正则表达式。在你用C++语法描述完一个正则表达式，它已经是内部表示（被C++编译器编译成了机器码）。这一类我们称之为静态正则表达式库。&lt;img src ="aggbug/2491947.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>许式伟</dc:creator><title>C/C++字符串处理(5)：std::deque与std::TextPool</title><link>http://blog.csdn.net/xushiweizh/archive/2008/04/04/2248739.aspx</link><pubDate>Fri, 04 Apr 2008 01:06:00 GMT</pubDate><guid>http://blog.csdn.net/xushiweizh/archive/2008/04/04/2248739.aspx</guid><wfw:comment>comments/2248739.aspx</wfw:comment><comments>http://blog.csdn.net/xushiweizh/archive/2008/04/04/2248739.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>comments/commentRss/2248739.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2248739</trackback:ping><description>通过 vector, list, deque 的时间、空间性能对比，我们可以看出，应该提倡尽可能使用 deque 这个容器。特别是，如果要承受海量数据，deque 是最合适的人选了。&lt;img src ="aggbug/2248739.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>许式伟</dc:creator><title>C/C++字符串处理(4)：std::vector与std::StringBuilder</title><link>http://blog.csdn.net/xushiweizh/archive/2008/03/28/2224422.aspx</link><pubDate>Fri, 28 Mar 2008 02:59:00 GMT</pubDate><guid>http://blog.csdn.net/xushiweizh/archive/2008/03/28/2224422.aspx</guid><wfw:comment>comments/2224422.aspx</wfw:comment><comments>http://blog.csdn.net/xushiweizh/archive/2008/03/28/2224422.aspx#Feedback</comments><slash:comments>5</slash:comments><wfw:commentRss>comments/commentRss/2224422.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2224422</trackback:ping><description>std::StringBuilder 基于 std::vector 实现。所以尽管本文讨论 std::vector，但是所有的结论对 std::StringBuilder 同样有效。&lt;img src ="aggbug/2224422.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>许式伟</dc:creator><title>C/C++字符串处理(3)：String ADT - 字符串只是抽象数据类型</title><link>http://blog.csdn.net/xushiweizh/archive/2008/03/26/2221445.aspx</link><pubDate>Wed, 26 Mar 2008 22:31:00 GMT</pubDate><guid>http://blog.csdn.net/xushiweizh/archive/2008/03/26/2221445.aspx</guid><wfw:comment>comments/2221445.aspx</wfw:comment><comments>http://blog.csdn.net/xushiweizh/archive/2008/03/26/2221445.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>comments/commentRss/2221445.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2221445</trackback:ping><description>字符串是什么？我们认为，与其说它是一个类，不如说它只是一个ADT（抽象数据类型）。&lt;img src ="aggbug/2221445.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>许式伟</dc:creator><title>C/C++字符串处理(2)：String - 常字符串</title><link>http://blog.csdn.net/xushiweizh/archive/2008/03/23/2210938.aspx</link><pubDate>Sun, 23 Mar 2008 21:20:00 GMT</pubDate><guid>http://blog.csdn.net/xushiweizh/archive/2008/03/23/2210938.aspx</guid><wfw:comment>comments/2210938.aspx</wfw:comment><comments>http://blog.csdn.net/xushiweizh/archive/2008/03/23/2210938.aspx#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>comments/commentRss/2210938.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2210938</trackback:ping><description>StdExt的String(BasicString)，和你以前见过的所有字符串类都不太一样。它的特别之处在于，它并不维护字符串的生命周期。这可能让你诧异：居然会有这样字符串类，它并不管理字符串的生命周期。但是我们这样做了。而这的确给我们带来很多便利。例如：    * 赋值（复制）、子串（substr）是非常轻量的操作。Copy-On-Write技术完全是多余的。    * 可以将任意的线性容器（如std::vector、std::basic_string）临时转换为String（非常轻量）。参见下文中对String::cast方法的介绍。为什么String类可以不管理自己的生命周期？这就是我们StdExt的内存管理变革倡导的思想了。&lt;img src ="aggbug/2210938.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>许式伟</dc:creator><title>C/C++字符串处理盘点：Char*/String/StringBuilder/TextPool/Rope</title><link>http://blog.csdn.net/xushiweizh/archive/2008/03/20/2201181.aspx</link><pubDate>Thu, 20 Mar 2008 22:08:00 GMT</pubDate><guid>http://blog.csdn.net/xushiweizh/archive/2008/03/20/2201181.aspx</guid><wfw:comment>comments/2201181.aspx</wfw:comment><comments>http://blog.csdn.net/xushiweizh/archive/2008/03/20/2201181.aspx#Feedback</comments><slash:comments>17</slash:comments><wfw:commentRss>comments/commentRss/2201181.aspx</wfw:commentRss><trackback:ping>http://tb.blog.csdn.net/TrackBack.aspx?PostId=2201181</trackback:ping><description>在介绍StdExt的时候，我曾经提到，STL设计精良，但是以下几块仍然设计不足（或缺失）：    * allocator（内存管理）    * string（字符串处理/文本处理）    * parallel programming（并行编程）关于内存管理，我们已经说得很多了。这里我们重点谈的是字符串处理/文本处理相关的问题。本篇是《字符串处理完整参考》这个系列的第一篇。&lt;img src ="aggbug/2201181.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>