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