海风林影

一个代码可以创造一个世界,也能毁灭一个世界~

编程痛并快乐着

《人月神话》中提到编程这个职业时,列出编程给人带来乐趣的理由,同时也谈到这个职业也给人很多苦恼,下面是这篇文章的观点,觉得写的不错: 快乐: 编程的乐趣是一种创建事物的纯粹快乐。 快乐来自于开发对其他人有用的东西。 编程的过程体现了魔术般的力量。 学习新事物的乐趣,源于工作的非重复特性。 ...

2012-04-26 21:14:11

阅读数:997

评论数:0

大学总结之影响我最深的十本书

今天是“世界读书日”,前几天微博上转发非常多的一条微博:“一日不读书,无人看得出;一周不读书,开始会爆粗;一月不读书,智商输给猪”,确实阅读是很重要的,对此我深有体会。大学四年我读了大量的书,其中大多是计算机技术方面的书,可以说从这些书中我打牢了我专业的基础,是我大学最大收获之一。 今晚回头...

2012-04-23 23:14:56

阅读数:4134

评论数:2

20. 协助完成“返回值优化(RVO)”

[19]最后曾提到了在函数通过传值方式(by value)返回一个对象时,不可避免地要生成一个临时对象,这会严重影响到程序的效率,如下例计算两个分式的乘积: class CRational{ public: CRational(int numerator, int denomin...

2012-04-19 11:50:31

阅读数:848

评论数:1

19. 了解临时对象的来源

什么是临时对象? C++真正的临时对象是不可见的匿名对象,不会出现在你的源码中,但是程序在运行时确实生成了这样的对象。 通常出现在以下两种情况: (1)为了使函数调用成功而进行隐式类型转换的时候。 传递某对象给一个函数,而其类型与函数的形参类型不同时,如果可以通过隐式转化的话可以使...

2012-04-18 23:00:27

阅读数:1573

评论数:0

16. 谨记80-20规则

80-20 法则 一个程序 80% 的资源用于20% 的代码身上。 这里的资源包括:执行时间、内存消耗、磁盘访问、维护成本..... 这说明了:软件的整体性能几乎总是由其构成要素(代码)的一小部分决定。也给我们指明了提升软件性能的一个方向:我们只要找到这20%的代码,...

2012-04-17 14:26:29

阅读数:1207

评论数:0

7. 千万不要重载&& ,|| 和,操作符

C/C++语言对于逻辑表达式具有“逻辑短路”的性质,即一旦确定了真假值,表达式中即使有尚未检查的部分,都将返回。如: char *p; if ((p != NULL) && printf("%c", *p)) ... ...

2012-04-16 17:39:53

阅读数:826

评论数:0

6. 区别increment/decrement操作符的前置(prefix)和后置(postfix)形式

C++中允许++ 和-- 操作符的前置和后置两种形式具有重载的能力。而重载是以参数类型来区分的,然而不论是++ 还是 -- 的前置或后置均没有参数,为了区分这两种不同的操作,只好让后置式有一个int自变量,并且在它调用的时候,编译器默认给该int指定一个0值。 下面的例子是使char型也能进行+...

2012-04-16 16:27:52

阅读数:765

评论数:0

5. 对定制的“类型转换函数”保持警觉

C++中允许编译器在不同类型中执行隐式转化,例如默默地将char转化为int,将short转化为double等等,这些是语言提供的。现在当你写自己的类型时,你可以选择是否提供某些函数,供编译器用作隐式类型转化之用。如定义一个类类型,是否允许其它类型转化为此类类型,我们可以操控的。 可以通过两种函...

2012-04-15 19:29:43

阅读数:584

评论数:0

8. 了解各种不同意义的new 和 delete

C++中关于new 的形态主要有三种:new operator, operator new, placement new 三者的用法有着不同,注意区别适用的条件: new operator: new 操作符,和C++语言其它操作符(如+, -, ->, ::....)一样,是由语言...

2012-04-15 14:10:54

阅读数:1282

评论数:0

2. 最好使用C++转型操作符

旧式的C转型方式,几乎允许你将任何类型转换为任何其它类型,有其自身的缺陷,表现在以下两方面: 不能更精确地指明其转型的意图。 如将一个pointer-to-base-class-object 转型为一个pointer-to-derived-class-object(改变一个对象的类...

2012-04-14 18:02:47

阅读数:885

评论数:0

1.仔细区别POINTERS 和 REFERENCES

没有所谓的null reference:         若有一个变量有可能代表一个对象,也可能不代表任何对象,应该使用pointer;         如果这个变量必须代表一个对象,即不允许这个变量为null,则应该使用reference。         因此,refer...

2012-04-14 16:43:16

阅读数:686

评论数:0

那些年,我们一起听过的讲座

2012年4月11日,听到科大“复兴论坛”这次请来了柳传志,很是激动,决定一定要去听一下,虽然我没有门票,这意味着我得很早去科大在外面排队等着进去。         下午5点在工大吃了晚饭,和田田、张宁一起坐公交过去的,大概5:30到了科大东区,在校园里逛了一下,发现科大那条道上也有好多樱花...

2012-04-12 08:21:23

阅读数:892

评论数:1

深入探索C语言之结构体(struct)

结构(struct)就是一种把一些数据项组合在一起的数据结构,其他语言把它称做为记录(record)。语法为将需要组合的内容放在花括号中,前面加上一个关键字struct,如下: struct {内容...}; 1. 怎样定义结构体变量: 举个具体的例子,如将在校学生的信息定义为一个结...

2012-04-11 15:34:38

阅读数:1239

评论数:1

2012年中科大考研复试离散数学、编译原理试题(完整版)

离散数学 1. (4分) 求与下述公式逻辑等值的前束合取范式: 2. (8分) 对于命题公式P、Q、R,证明以下等值关系:   3. (8分)    (1) 定义集合S={1,2,3,4,5}上的二元关系R1={| j = i 或 j = i / 2}, R2={ | i   ...

2012-04-04 16:53:45

阅读数:4793

评论数:2

2012年中科大考研上机机试试题(回忆版)

本次机试两个半小时,共5题。 1. 字符串处理:从string.in文件里读入两个字符串,字符串除了数字还可能包括 '—'、'E'、'e'、'.',相加之后输出到文件string.out中,如果是浮点型,要求用科学计数法表示(最多包含10个有效数字)。    Sample Input:  ...

2012-04-01 20:16:49

阅读数:4746

评论数:8

提示
确定要删除当前文章?
取消 删除
关闭
关闭