Tag cloud
adobe algorithm android apache Arch Archlinux birthday blogging C++ C++ Primer domain DreamHost English Firefox font fun G1 game GFW GnuPG Google holiday Java life Linux mail Mobile music network nVidia OI PageRank pal password programming qq science template Tor Ubuntu Vijos webmaster tools windows wordpress WoWCategories
Archives
- August 2010
- July 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- September 2009
- July 2009
- June 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.Meta
Tag Archives: C++
C Traps & Tips II -- Digraphs and Trigraphs
今天写个第二遍吧,这篇有点×疼,大家见谅。 先看代码: 1 2 3 4 5 6 7 #include <stdio.h> int main() { printf("%s", "What's this??!\n"); return 0; } 1 2 3 4 5 6 7 int main() { int a = 0; //What's a's value??????????????/ a++; return … Continue reading
C Traps & Tips I -- Duff's Device
最近又对 C 的陷阱和奇怪的用法之类的感兴趣了,于是又想写点东西,完全是主观感觉奇怪的或者是感觉是陷阱就写出来了,外加无责任分析,错了还请大家斧正…… 今天写第一篇,希望以后能多写点…… 先上代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 send(to, from, count) register short *to, *from; register count; { register n=(count+7)/8; switch(count%8){ case 0: do{ *to = … Continue reading
'long long long' is too long for GCC
From blog From blog Tags:C++ Related Posts 读《C陷阱与缺陷》("C Traps and Pitfalls") (3) 看看我的计算机 (1) [OI][Vijos 1214]伤心的AsukaNoKaze (3) [OI][Vijos 1107]环游大同 80 天 (2) [OI][Vijos 1059]积木城堡 (1)
读《C陷阱与缺陷》("C Traps and Pitfalls")
记得有很多次都在书店看到这本书了,但是看了看觉得买下不太值,所以就一直没买,上上星期到省图书馆看到这本书,书不厚,就借来看看。 这本书写于上世纪八十年代,在计算机书籍中已经算是很旧的了,我觉得这书现在来看除了作者原本要传达的意思,还多了许多讲述历史的成分,让我们知道了很久以前的 C 语言是什么样子的。那时侯,连 ANSI89 都没有定下来,书中讨论了很多是用 ANSI 的新写法,还是为了兼容而用老写法的问题,现在这个问题应该已经没有什么价值了吧?书中不少陷阱和缺陷也就被 fixed。 举个例子,很久以前,有的编译器允许对字符串字面值进行修改,现在看来,已经是非常荒唐的事情了。(让我想起潭浩强在书里修改字符串字面值的事,或许他用的是很有年头的编译器?呵呵) 不过,现在的 C 语言还是那么诡异,有不少陷阱和缺陷,这本书也算是个 check list,查漏补缺。里面许多东西我以前都见过了(或者真的犯过),不过还有不少我们没见过的,呵呵。 我知道的比如,getchar() 的返回值是 int,dangling else,switch,求值顺序等等。 不知道的也很多,比如分析 token 的时候的贪心方法,a[i] 和 i[a] 一样等等,还有 varargs 等的用法。 推荐大家看看,应该用不了多长时间,当是查漏补缺了。 Tags:C++ Related Posts 看看我的计算机 (1) [OI][Vijos 1214]伤心的AsukaNoKaze (3) [OI][Vijos 1107]环游大同 80 天 … Continue reading
C++ Primer 随记——第 6 章,语句
case 标号必须是整型常量表达式。(Page 176) 任意两个 case 标号不能相同。(Page 176) 对于 switch 结构,只能在它的最后一个 case 标号或 default 标号后定义变量。(Page 176) 在循环条件中定义的变量在每次循环里都要经过创建和撤销的过程。(Page 178) goto 语句不能跨越变量定义向前(下)跳转。(Page 185) goto 语句只能在同一函数内跳转。(Page 185) Tags:C++,C++ Primer Related Posts C++ Primer 随记——第 5 章,表达式 (0) C++ Primer 随记——第 4 章, 数组和指针 (1) … Continue reading