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

Posted in Information Technology | Tagged | 3 Comments

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

Posted in Information Technology | Tagged | Leave a comment

'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)

Posted in Information Technology | Tagged | 7 Comments

读《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

Posted in Information Technology | Tagged | 3 Comments

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

Posted in Information Technology, book | Tagged , | 2 Comments