2012年6月8日
摘要:
引言 根据预告,这篇我们对“?”“+”“*”进行处理,实现对重复的支持。“x?”匹配0个或1个“x”,“x+”匹配1到任意个“x”,“x*”匹配0到任意个“x”。 有了重复,就有贪婪模式和非贪婪模式。在贪婪模式下,“x+”匹配“xxxyyy”中的“xxx”;在非贪婪模式下,“x+”匹配“xxxyyy
阅读全文
posted @ 2012-06-08 23:35
溪流
阅读(50)
推荐(0)
2012年6月4日
摘要:
引言 这篇我们要实现的是中括号表达式。 一个中括号里写上任意数目的字符,表示匹配这些字符中的任何一个。比如“[abc]”匹配a或b或c。中括号里除了单个字符,也可以写字符区间,比如“[a-c]”就表示从a到c的所有字符,这里“a到c”是指内码连续的一系列字符,包含首尾的a和c。综合起来说,中括号里面
阅读全文
posted @ 2012-06-04 22:19
溪流
阅读(40)
推荐(0)
2012年6月3日
摘要:
引言 想搞正则表达式解析器好久了。前面由于一些基础设施没准备好,没法开始动手。现在 xlLib 里头准备的差不多了,可以着手实施了。 在做这件事之前,读了好几遍 @vczh 的文章《构造可配置词法分析器》《构造正则表达式引擎》(http://www.cppblog.com/vczh/archive/
阅读全文
posted @ 2012-06-03 15:16
溪流
阅读(22)
推荐(0)
2012年5月20日
摘要:
对于 ScopeExit,以前有提到过(见《这种代码结构如何组织?goto or do…while(0)?》)。使用场景再简单提一下: bool GenFile() { HANDLE hFile = CreateFile(_T("Test.txt"), GENERIC_WRITE, 0, NUL,
阅读全文
posted @ 2012-05-20 23:07
溪流
阅读(36)
推荐(0)
2012年5月12日
摘要:
以前做 Function 的时候恰好取巧避免掉了,这些天在做 Bind,不得已要把每个调用约定罗列一遍。顺手把这些东西复习一下,总结如下—— (所有内容针对 VC 编译平台) 一、x86 名称 传参方式 栈清理 C 语言函数重命名(例:int func(int, double)) __cdecl 从
阅读全文
posted @ 2012-05-12 01:36
溪流
阅读(31)
推荐(0)
2012年4月21日
摘要:
一直比较好奇 boost::bind 里面占位符和参数的顺序是怎么实现的,也一直看不太懂这方面源代码,昨晚好好看了下,终于有点弄懂了。小记一笔,与大家分享。 先看一个简单的用例: #include <boost/bind.hpp> int foo(bool a, int b, double c) {
阅读全文
posted @ 2012-04-21 15:01
溪流
阅读(21)
推荐(0)
2012年3月23日
摘要:
网上的文章但凡有提到 static_cast、const_cast、reinterpret_cast、dynamic_cast 的,都会语重心长的说,他们克服了 C 风格的类型转换的缺点,应当使用它们。 可是,C 风格的到底有什么坏处?C++的这些 cast 又有什么好处呢? 昨天以前,我连这些 c
阅读全文
posted @ 2012-03-23 09:53
溪流
阅读(35)
推荐(0)
2012年2月29日
摘要:
3.10 Lvalues and rvalues [basic.lval] 左值和右值 1 Every expression is either an lvalue or an rvalue. 表达式不是左值就是右值。 2 An lvalue refers to an object or funct
阅读全文
posted @ 2012-02-29 22:50
溪流
阅读(21)
推荐(0)
2011年7月12日
摘要:
如题,大致看了下网上能找到的一些规范,觉得大体有这么三个方面吧,一个是排版方面的,一个是命名方面的,一个是书写逻辑方面的。 排版方面的大概有,如何缩进,如何使用空格、换行,等等。命名方面的包括变量、函数、类、文件的取名等等。书写逻辑方面的就比较多了,可能包括:是否全面使用异常、出错处理资源清理如何组
阅读全文
posted @ 2011-07-12 22:22
溪流
阅读(19)
推荐(0)
2011年5月26日
摘要:
如题。 稍微解释下,因为有可能有人会误会:放新线程里面去不就可以了?这没有解决问题。如此的话,你那个线程函数怎么写?或者线程函数里调用的某个任务函数怎么写?总之,多线程虽然总是出现在这些问题的解决方案中,但不是多线程解决了这个问题。嗯……不知道说清楚了没? 目前我心里的答案只有这一种模式: bool
阅读全文
posted @ 2011-05-26 00:36
溪流
阅读(13)
推荐(0)