精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>C/C++>>C、C++语言基础>>关于++,我说两句

主题:关于++,我说两句
发信人: riffle(吃素的钢狼)
整理人: wenbobo(2002-12-24 09:22:33), 站内信件

在网上总看到一些朋友对于如何“++”颇有好奇心,我觉得十分奇怪,我们干吗
舍容易理解,容易使用的东西不用,却偏要去钻研一些貌似科学、有研究价值,
其实不然的东西呢。到现在我从事编程已8年有余了,不敢说高手,怎么也算老
手了吧,说实话,我就一直记不准确运算符的优先级,甚至你要问我前缀++和后
缀++到底有什么区别,我也不一定每次都能回答准确。

下面是Bruce Eckel在《C++编程思想》第2版前言中的原话:
“……举一个C语言的例子,如果我们记住运算符优先表(我是记不住的),我们
就可以写更漂亮的代码。但是,如果一定要这样做,反而会使代码的读者或维护者
糊涂。所以可以忘掉优先级,当不清楚时使用括号。我们对于C++中的某些内容也
可以采用同样的态度,因为我认为这些内容对于写编译器的人更重要,而对于程序
员就不是那么重要。”

对于“*p++”、“(*p)++”、“*(++p)”、“*(p++)”、“++(*p)”等等,你能
一眼说出它们的功能么?诸如此类令我头疼的语句,我一般不写,印象中,我似乎
只写过*p++。

说到这里,不由想起一段对白:
问:“根号二开平方得多少?”
(沉默半晌后)答:“你想被狂扁啊?”

这真是聪明人的回答!

[关闭][返回]