随笔分类 -  学习日记

摘要:裘宗燕:C/C++ 语言中的表达式求值经常可以在一些讨论组里看到下面的提问:“谁知道下面C语句给n赋什么值?”m = 1; n = m+++m++;最近有位不相识的朋友发email给我,问为什么在某个C++系统里,下面表达式打印出两个4,而不是4和5:a = 4; cout << a++ << a;C++ 不是规定 << 操作左结合吗?是C++ 书上写错了,还是这个系统的实现有问题?要弄清这些,需要理解的一个问题是:如果程序里某处修改了一个变量(通过赋值、增量/减量操作等),什么时候从该变量能够取到新值?有人可能说,“这算什么问题!我修改了变量,再从这个变量 阅读全文
posted @ 2013-03-14 15:53 夏普·因可路的 阅读(206) 评论(0) 推荐(0)
摘要:今天买了本书,不是很厚,叫做《一万小时天才理论》,看名称以为是说天才的呢,其实不然,其中分析了普通人怎样才能达到我们眼中天才的高度。 其实,天才并不存在,按书中的理论,天才可以用如下恒等式表示: 天才 = 精深 + 激情 + 伯乐 精深指的是一个人在自己的兴趣领域要想成为专家,一定要经过至少10000小时的训练,最后达到精深的程度。简单来说,就是老生长谈的勤奋。 精深练习是建立在一个悖论的基础上的:朝着既定的目标挣扎前进,挑战自己的能力极限,不断犯错,这让你更聪明。 很多人在练习的过程中避免犯错,如果这样,就不会掌握更多的错误信息,也就不会积累更多的经验,要知道,现实中很少有事情... 阅读全文
posted @ 2013-03-12 22:55 夏普·因可路的 阅读(257) 评论(0) 推荐(0)
摘要:常规分析(如果对下面的分析感觉比较迷惑的,可以看看下面这个分析http://blog.csdn.net/wind__fantasy/article/details/5398358)首先,我们设f(n)=序列个数为n的出栈序列种数。同时,我们假定,从开始到栈第一次出到空为止,这段过程中第一个出栈的序数是k。特别地,如果栈直到整个过程结束时才空,则k=n首次出空之前第一个出栈的序数k将1~n的序列分成两个序列,其中一个是1~k-1,序列个数为k-1,另外一个是k+1~n,序列个数是n-k。此时,我们若把k视为确定一个序数,那么根据乘法原理,f(n)的问题就等价于——序列个数为k-1的出栈序列种数乘 阅读全文
posted @ 2013-03-09 14:59 夏普·因可路的 阅读(399) 评论(0) 推荐(0)
摘要:使用占位函数在编写项目时,在用到的每个函数的位置上放上简短的哑函数,又称占位函数。这样做,至少能编译程序并确信类型和变量的定义在语法上是正确的。有些老的编译器不支持bool类型。我们可以用下面语句模拟:typedef int bool;const bool false= 0;const bool true=1;栅栏(hedge)或监视哨(sentinel)监视哨是放入数据结构中的额外的元素,因而不用再将边界条件作为一种特殊情况对待。程序设计技术规则将输入和输出作为独立的函数,使得它们易于修改并能定制修改以适应计算系统。多个.h头文件时注意#include(c++ primer 第四版 p60预 阅读全文
posted @ 2013-03-05 23:30 夏普·因可路的 阅读(269) 评论(0) 推荐(0)
摘要:(摘自http://baike.baidu.com/view/1283800.htm#3)中文版C++ Primer(第4版)中p53,p112和p124讲解了用typedef来掩饰指针和数组的语法,但不够充分摘选的这一部分用来补充理解typedef 可以掩饰复合类型,如指针和数组。例如,你不用像下面这样重复定义有 81 个字符元素的数组:char line[81];char text[81];定义一个 typedef,每当要用到相同类型和大小的数组时,可以这样:typedef char Line[81];此时Line类型即代表了具有81个元素的字符数组,使用方法如下:Line text, s 阅读全文
posted @ 2013-02-28 21:55 夏普·因可路的 阅读(211) 评论(0) 推荐(0)