
编程语言
文章平均质量分 65
houdy
这个作者很懒,什么都没留下…
展开
-
程序天天练(2):字符串中删除子字符串
Ex: 字符串中删除子字符串Date:Jan. 8th, 2005思路:在书中有从字符串中删除一个字符的例子,从这个例子出发,将一个字符扩展到一个字符串即可。分析:从一个字符串s中删除一个字符c的思路:1.用两个变量i,j分别表示源字符串下一个字符的index和目标字符串下一个字符的index.2.遍历源字符串的每一个字符,取其中的任意一个字符,若此字符不等于c,保存此字符,并且j加1;否则丢弃此原创 2005-01-08 10:23:00 · 2962 阅读 · 0 评论 -
C++类对象创建过程揭密
介绍初看到这个题目,你可能会有些疑惑:C++类对象的创建还有什么好说的,不就是调用构造函数么?实际上情况并不是想象中的那么简单,大量的细节被隐藏或者被忽略了,而这些细节又是解决一些其他问题的关键,所以我们很有必要深入到这块"神秘"的区域,去探索鲜为人知的秘密。 分配空间(Allocation)创建C++类对象的第一步就是为其分配内存空间。对于全局对象,静态对象以及分配在栈区域内的对象,对它们的内存原创 2007-07-29 13:02:00 · 8492 阅读 · 2 评论 -
虚函数表放在哪里?
引言:近日优快云的"C/C++语言"版的一个问题引起了我的注意:"请问虚函数表放在哪里?"。我也曾经思考过这个问题,零零散散也有一定的收获,这次正好趁这个机会把我对这一部分的理解整理一下。 首先值得声明的是,本文的编译环境是VS2002+WinXP。C++标准并没有对虚函数的实现作出任何的说明,甚至都没有提到虚函数的实现需要用虚表来实现,只不过主流的C++编译器的虚函数机制都是通过虚表来实现的,原创 2007-01-28 14:09:00 · 19695 阅读 · 6 评论 -
Learn From Real Coding (1)
注:大学毕业后,我就进入到一家软件公司从事AutoCAD应用程序开发。在随后的日子里我想通过BLOG的方式记录下我在实际工作中学习到的东西(也就是人们常说的"经验",很宝贵的哟!),然后和大家分享我的经验,也希望能和大家对相关问题进行深入的讨论。写这些的另外的一个目的记录下我成长的历程。标题:Learn From Real Coding - 1关键词:C++中的函数重载和默认值摘要:函数重载和原创 2006-08-26 12:39:00 · 2783 阅读 · 0 评论 -
复杂表达式的执行步骤
近日在优快云上闲逛的时候,注意到一个帖子: ((*strDest++=*strSrc++)!=/0); 哪儿前辈可以解释下里面具体执行的步骤呢? 对于这样的表达式,我们通常会有这样三种看法:1.这种写法不但没有错误(当然也没有BUG),而且写法紧凑。2.这种写法虽然没有错误,但是不够直观,理解起来有点麻烦,可能还会导致理解错误。3.这种写法中存在未定义的地方,执行结果可能是错误的。粗略来原创 2006-08-20 10:12:00 · 3393 阅读 · 4 评论 -
透过汇编另眼看世界之类成员函数指针
前言:在优快云论坛经常会看到一些关于类成员函数指针的问题,起初我并不在意,以为成员函数指针和普通的函数指针是一样的,没有什么太多需要讨论的。当我找来相关书籍查阅了一番以后,突然意识到我以前对成员函数指针的理解太过于幼稚和肤浅了,它即不像我以前认为的那样简单,它也不像我以前认为的那样"默默无闻"。强烈的求知欲促使我对成员函数进行进一步的学习并有了这篇文章。一。理论篇在进行深入学习和分析之前,还是先原创 2006-11-25 12:35:00 · 4575 阅读 · 2 评论 -
透过汇编另眼看世界之多继承下的虚函数函数调用
在我的前一篇文章"透过汇编另眼看世界之函数调用"中,我们通过汇编了解了虚函数调用的全部过程。在本文中我将分析多继承的情况下虚函数调用的情况。首先还是写一些简单的代码作为本文分析的例子代码: //the abstract base classclass IBase ...{public: virtual void func1() = 0; virtual void func2原创 2006-11-04 14:19:00 · 5850 阅读 · 5 评论 -
面向对象地本质-抽象
什么是面向对象的本质?近日在阅读一位网友在优快云博客上发表的文章,作者认为对象,对象的职责,以及对象之间的交互构成了OO思想的本质。在我看来,抽象更接近OO思想的本质。我是从以下几点考虑的:1.抽象使我们更接近于事物的本质。抽象的过程就是一个提炼存在于事物之间共同拥有的元素,而这些事务之间共同拥有的元素往往是这一事物区别于其他事物关键的东西,这些元素就构成了事物的本质。2.抽象的思原创 2006-06-07 20:28:00 · 5118 阅读 · 0 评论 -
关于多态
近日浏览优快云论坛,发现了一个关于如何理解多态的帖子。自我感觉学习C++已经有很长一段时间了,但是叫我说什么是多态,我却无法组织的思路。虽然我可以找出一本C++书,按照上面说的意思告诉你多态是什么,但是我感觉这样并没有真正理解多态,这样做有点"死记硬背"的意思。我觉得,理解多态应该注意区分设计(Design)和实现(Implementation)。1。多态的概念更倾向于Design,所以原创 2006-04-01 11:14:00 · 3147 阅读 · 0 评论 -
MFC中的设计模式之厂(Factory)
引子:网上对MFC的批评不绝于耳,说MFC这样,那样不好,甚至有网友直接用“烂”来形容MFC。我学习MF C也有一段时间了,我自己感觉我的MFC水平也就是中等偏下,离熟练运用MFC还有一段距离。我深刻体会到学习MFC的“痛苦”,所以在工作中我一般都尽量避免使用MFC。前几天在优快云中看到关于MFC中用到了那些设计模式的讨论,顿时觉得这是一个很有意义的讨论。为什么我们不可以换一个角度,从实现者的角原创 2006-03-03 20:14:00 · 2274 阅读 · 0 评论 -
程序天天练(1)
注:这些练习都来源于C经典教程《The C Programming Language,2nd》。做这些练习目的是培养一种编程思想(效率,重用...),而不是简单的实现功能。Ex: Exercise 1-12 Write a program that prints its input one word per line.Date: 2005.1.6Solution 1: 1.判断每一个输入的字符原创 2005-01-06 14:22:00 · 1623 阅读 · 0 评论 -
Inside COM Object Model
前言C++对象模型经常会受到大家的关注,这个可以从论坛中大量的和C++对象模型有关的帖子就可以看出来,但是我却很少看到讨论COM组件模型的讨论和文章。我现在正在作一些和COM有关的工作,对这个问题也比较感兴趣,我就想自己写一篇关于这个主题的文章。本文的名字是借用一本非常著名的书的名字,那就是。选择这个名字是不是有借助这本书的名气"炒作"自己的嫌疑?呵呵,可能有一点吧。但是这决不是我使用这个名字的真原创 2007-05-12 11:27:00 · 3179 阅读 · 0 评论