摘要:
以下的内容综合了多篇文章,加上一点自己的理解而成。目的为了给自己阅读他们文章后做一个笔记。在末尾给出了这些文章的地址。 多态的实现可以采用以下几种方式: (1)使用 vod * (万能指针)来实现“编译时多态”。 (2)使用函数指针来实现“运行时多态”。 (3)使用型如struct struct_name{ ............................... char temp[0]; //或者char *temp; };这种形式。对于(1)举例如下:void HandleMsg(unsinged int id, void *p){ Msg1 *p1; Msg2 *p2; swit 阅读全文
摘要:
使用throw抛出异常本人节选自《21天学通C++》一书 抛出异常(也称为抛弃异常)即检测是否产生异常,在C++中,其采用throw语句来实现,如果检测到产生异常,则抛出异常。该语句的格式为:throw 表达式; 如果在try语句块的程序段中(包括在其中调用的函数)发现了异常,且抛弃了该异常,则这个异常就可以被try语句块后的某个catch语句所捕获并处理,捕获和处理的条件是被抛弃的异常的类型与catch语句的异常类型相匹配。由于C++使用数据类型来区分不同的异常,因此在判断异常时,throw语句中的表达式的值就没有实际意义,而表达式的类型就特别重要。【范例20-2】处理除数为0的异常。该范例 阅读全文
摘要:
我以前不是做软件开发的。在加入ThoughtWorks两年之前,我主要靠玩扑克为生。当然,如果你曾跟我打听过我前臂上的纹身,那你肯定已然听过我的故事了。要是还没有,等下次我们一起喝一杯时,我可以讲给你听。我从未因为花这么长时间玩牌而感到过遗憾,从中我学到了一些放之四海而皆准的知识。开发软件的时间愈久,我就愈加确信这二者之间具有令人难以置信的相似性。学习我学习打扑克和学习软件开发的方式是一样的:尽可能多读书。我用两年的时间,读完了所能找到的每一本有关扑克的书。最后竟至39本之多。编程亦如是。此刻,我面前仍然摆着接下来要读的5本书;而在过去三年ThoughtWorks的工作中,我放火烧掉的书亦不在 阅读全文
摘要:
自从上次写了“程序员技术练级攻略” 以来,就觉得似乎还有很多东西没有谈到,但当时没有继续思考了。而春节前有人问我,是做底层技术,还是做业务。这问题让我思考了很多,不由自主地回顾了一 下我这十多年的软件开发经历,并顺着整理分类了一下自己解决过的若干问题,还发散想了很多,经过了一个春节假期的发酵,产生了下面这篇文章。前言这篇文章必然是通过我的个人经历来写的。所以,我先说说个人经历吧。我的经历基本分成三个阶段。第一阶段:我 刚毕业时在家乡的某银行工作,做些银行的业务系统,还搞些网络,电子邮件系统,OA什么的,因为大四的时候在老师的公司里实习,银行里的人际关系太复杂, 而且技术都包给了产商,所以在银行 阅读全文
摘要:
我相信激励是非常重要的。这也是为什么我常常把时间管理(这些书激励我不管改进我的时间管理方法)的书和软件开发拿出来看看。我最近刚看完一本 书,“Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman”。这本书推动我仔细的思考我应该把时间花在哪里。巧合的是最近是我25岁生日,也即将是新的一年。所有这一切都推动着我整理自己的技能,并制定下一年的学习计划。我把它写到博客里面也是那本书的作者建议。我觉得这个建议非常好。和所有人分享你的计划,会让你更有动力去完成它!技能那本书的作者建议,制作一张图表,列出你所有的技能,然后 阅读全文
摘要:
没有人是完全独立的孤岛,每个人都是整体的一部分。—— 约翰·多恩 对于缺乏编程知识的人来说,完全有可能编写一个网页或小程序。如果在用Google搜索相关示例时幸运的话,可以搜到现成的代码。即使是经验丰富的程序员,通常也会为了节省时间和精力而在网上搜索解决方案。 如果不借助搜索技术、网络及集体智慧,现代化高效编程是难以想象的。因此,搜索技巧对高效程序员变得愈发重要。 现在,我们不需要了解和记住如何解决众多的编程问题,可以采用搜索技术。我们正变得更加高效、高生产力,并能够解决更多的问题。但这是否意味着在构建软件时,拥有好的搜索技巧就足够了呢?本文将讨论,搜索技巧在程序员知识的形成过程中的 阅读全文
摘要:
入行你为什么要当程序员?每当我问起很多人入行的人,回答各不相同。有很多人是因为喜欢。谁说过:热爱是最好的老师。当然,关键是热爱是否能支撑自己把爱好做成一份职业。但不论做多久,因为热爱或曾经热爱,这个理由就足够了。你不能希望撒一粒种子,都变成参天大树。所以,对进来和离开的人,我们都应该鼓励。新入行的人,建议他们用1-2年来适应、评估程序员的生活状态。不论满怀希望还是充满失落,这些时间都不会浪费。在如今信息时代,曾经的经历,都会使有这方面经历的人拥有独特的眼光,很容易在其他领域内,引入新的思考。进入软件行业,还是其他行业,其实,对一个新人来说,最重要的东西不是行业本身。而是,你自己得明白:你是什么 阅读全文