随笔分类 -  Programming

左值,右值,数组和指针
摘要:左值,右值,数组和指针为什么a=b?在常见的C风格的语言中,有一些细微的差别是容易被忽视的,而正是这些看似非常简单的知识,有时候会成为我们理解程序,理解计算机行为的瓶颈。比如表达式:a=b;这样的表达式在大多数编程语言中都是合法的,它是一个简单的赋值表达式,那么它如何来表示赋值的意思呢?通俗的来说,为什么当你敲下a=b这样的几个字符并运行程序,执行这条语句后a的值会是赋值前b的值?这样的问题也许会... 阅读全文

posted @ 2009-08-19 13:03 J.D Huang 阅读(2139) 评论(0) 推荐(1) 编辑

由教科书函数swap想到的
摘要:经典的Swap几乎从远古时代至今的每一本程序设计语言的教材上, 都可以看到一个叫swap的函数, 书上这样告诉我们:(以C语言为例)[代码]在时下最时尚的C#中,我们可以这样写: [代码]上面的C#代码和前面的C大同小异,无非只是体现了一下C#泛型的优越性. 然而有的语言则要飘逸的多,比如说python,它可以支持以下写法: [代码]呃,这只是一个表达式。不需要什么函数,不需要引用,最重要的是不需... 阅读全文

posted @ 2009-07-29 13:48 J.D Huang 阅读(594) 评论(3) 推荐(0) 编辑