- 博客(33)
- 收藏
- 关注
转载 漫谈C++深浅拷贝
对于一般的对象,如:int a = 10;int b = 20;它们之间的赋值、复制过程是很简单的。但是对于类对象来说,其内部存在各种类型成员变量,在拷贝过程中会出现问题。如下: 1 #include 2 #include 3 using namespace std; 4 class String { 5 public: 6 String (cons
2014-03-29 16:12:45 603
转载 C++类模板友元声明的几种情况
根据《C++ Primer》第三版16.4节的叙述,C++类模板友元分为以下几种情况1.非模板友元类或友元函数。 书上给了一个例子:class Foo{ void bar();};template class QueueItem{ friend class foobar; friend void foo(); friend void Fo
2014-03-24 11:32:22 3957
转载 C++ 对象的内存布局(下)
重复继承 下面我们再来看看,发生重复继承的情况。所谓重复继承,也就是某个基类被间接地重复继承了多次。 下图是一个继承图,我们重载了父类的f()函数。 其类继承的源代码如下所示。其中,每个类都有两个变量,一个是整形(4字节),一个是字符(1字节),而且还有自己的虚函数,自己overwrite父类的虚函数。如子类D中,f()覆盖了超类的函数, f1() 和f2() 覆
2014-03-22 20:19:18 585
转载 C++ 对象的内存布局(上)
前言 07年12月,我写了一篇《C++虚函数表解析》的文章,引起了大家的兴趣。有很多朋友对我的文章留了言,有鼓励我的,有批评我的,还有很多问问题的。我在这里一并对大家的留言表示感谢。这也是我为什么再写一篇续言的原因。因为,在上一篇文章中,我用了的示例都是非常简单的,主要是为了说明一些机理上的问题,也是为了图一些表达上方便和简单。不想,这篇文章成为了打开C++对象模型内存布局的一个引子,引发
2014-03-22 20:18:00 533
原创 C++ 虚函数表解析
前言 C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,RTTI技术,虚函数技术,要么是试图做到在编译时决议,要么试图做到运行时决议。 关于虚函数的使
2014-03-22 20:10:34 496
转载 C++中 public,protected, private 访问标号小结
C++中 public,protected, private 访问标号小结第一:private, public, protected 访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。
2013-11-11 17:02:03 563
转载 虚函数
转:http://eriol.iteye.com/blog/1167737关于虚函数的背景知识用virtual关键字申明的函数叫做虚函数,虚函数肯定是类的成员函数。存在虚函数的类都有一个一维的虚函数表叫做虚表。类的对象有一个指向虚表开始的虚指针。虚表是和类对应的,虚表指针是和对象对应的。多态性是一个接口多种实现,是面向对象的核心。分为类的多态性和函数的多态性。多态用虚函数来
2013-11-11 10:19:05 626
转载 面向对象设计6条原则
面向对象设计6条原则正如牛顿三大定律在经典力学中的位置一样,“开-闭”原则(Open-Closed Principle)是面向对象的可复用设计(Object Oriented Design或OOD)的基石。其他设计原则(里氏代换原则、依赖倒转原则、合成/聚合复用原则、迪米特法则、接口隔离原则)是实现“开-闭”原则的手段和工具。一、“开- 闭”原则(Open-Closed Princip
2013-11-05 18:55:51 670
转载 TCP/IP FAQ 1
TCP/IP FAQ 1 TCP/IP FAQ系列,以古老经典的4.4BSD-Lite实现为准,参考《TCP/IP协议详解》3卷 ,加入个人的思考理解,理清主干,不深究细枝末节,皆在总结基本原理和实现。 本篇涵盖了数据链路层、ARP、RARP、IP、ICMP、TCP、UDP方面的问题与解答。【Data Link】1. 环回接口地址必须是127.0.0.1吗? 形如127
2013-11-05 12:25:33 737
转载 TCP/IP FAQ 2
TCP/IP FAQ 2 继上篇《TCP/IP FAQ 1》,本篇涵盖了域和协议、IP编址、插口、原始IP、unix域方面的问题与解答。【Domain & Protocol】1. 什么是域,它和协议有什么关系? 域可以理解为一种容纳协议的空间,它的存在便于了协议的分类;域和协议是集合与元素的关系,一个域中的每个协议使用同类地址,并且每种地址只被一个域使用,一个域能由协议族或
2013-11-05 12:23:15 682
转载 memcpy()与strcpy()的完全实现
memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'\0'而结束mem是一段記憶體,他的長度,必須你自己記住str也是一段記憶體,不過它的長度,你不用記,隨時都可以計算出來所以memcpy需要第三個參數,而strcpy不需要====================
2013-09-17 23:46:59 927
转载 键盘上各种符号的英文名称与发音
~ tilde ['tɪldə]` backquote [bækkwəʊt]! exclam [,eksklə'm]@ at [æt]# numbersign ['nʌmbəsaɪn]$ dollar ['dɑlɚ]%
2013-08-18 21:47:52 1324
转载 HRESULT返回值说明
如果函数正常执行,则返回 S_OK,同时真正的函数运行结果则通过参数指针返回。如果遇到了异常情况,则COM系统经过判断,会返回相应的错误值。HRESULT 值 含义S_OK 0x00000000 成功S_FALSE 0x00000001 函数成功执行完成,但返回时出现错误E_INVALIDARG
2012-04-23 10:36:44 759
转载 C/C++
主持人:熊节(透明),《程序员》杂志编辑,C-View成员嘉 宾:孟岩(梦魇),联想公司掌上设备事业部应用开发处任职,C-View成员。与侯捷先生合译了《C++ Standard Library》一书 金尹(恶魔),上海天宇公司CTO,在《程序员》连载有“自由与繁荣的国度”系列文章 透明:“学C++用哪本书入门”,这是被问得最多的一个问题。但是哪一本书是最好的入门
2012-04-20 09:22:43 768
转载 (转)经典C++库
1、系统和网络编程库:ACE 除了ACE之外,还有很多系统和网络编程方面的程序库。比如在线程库方面,还有ZThread、boost::thread,如果放大到C/C++领域,还有APR,还有CII。在文件和目录操作方面,boost也有相应的组件,而在网络编程方面有socket++,还有boost::asio,未来的C++0X中几乎肯定有一个网络编程和一个线程库。然而目前看来,ACE仍
2012-03-29 16:51:05 550
转载 C++中Static作用和使用方法
C++中Static作用和使用方法2008-10-31 12:201、什么是static? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就
2012-02-23 15:12:44 456
转载 静态成员变量 和 静态成员函数
数据成员可以分静态变量、非静态变量两种. 静态成员:静态类中的成员加入static修饰符,即是静态成员.可以直接使用类名+静态成员名访问此静态成员,因为静态成员存在于内存,非静态成员需要实例化才会分配内存,所以静态成员不能访问非静态的成员..因为静态成员存在于内存,所以非静态成员可以直接访问类中静态的成员.非成静态员:所有没有加Static的成员都是非静态成员,当类被实例化之后,可以
2012-02-15 11:15:12 594
转载 CFileFind类
from:http://jianaipeng1026.blog.163.com/blog/static/200677842008915102250246/CFileFind类 2008-10-15 10:22分类:MFC常用类字号: 大大 中中 小小 1、CFileFind类的声明文件保存在afx.h头文件中。2、该类的实现的功能:执行本地文件的查
2012-02-14 17:04:13 747
转载 一个游戏程序员的学习资料
三维图形学:搞三维图形学首先还是要扎扎实实的先看解析几何、线性代数、计算几何的教材,后面的习题一个都不能少。国内数学书还是蛮好的。苏步青大师的《计算几何》称得上具有世界级水准,可惜中国CAD的宏图被盗版给击垮了。现在是我们接过接力棒的时候了。It’s time!《Computer Graphics Geometrical Tools》《计算机图形学几何工具算法详解》算法很多,纰漏处
2012-01-09 19:51:12 676
转载 人生经典定律
一、墨菲定律 1949年,一位名叫墨菲的空军上尉工程师,认为他的某位同事是个倒霉蛋,不经意间开了句玩笑:“如果一件事情有可能被弄糟,让他去做就一定会弄糟。”这句话迅速流传,并扩散到世界各地。在流传扩散的过程中,这句笑话逐渐失去它原有的局限性,演变成各种各样的形式,其中一个最通行的形式是:“如果坏事情有可能发生,不管这种可能性多么小,它总会发生,并引起最大可能的损失。”
2012-01-05 15:19:39 3189
转载 成大事必备9种能力、9种手段、9种心态分享
成大事必备9种能力、9种手段、9种心态分享 一:沉稳(1)不要随便显露你的情绪。(2)不要逢人就诉说你的困难和遭遇。(3)在征询别人的意见之前,自己先思考,但不要先讲。(4)不要一有机会就唠叨你的不满。(5)重要的决定尽量有别人商量,最好隔一天再发布。(6)讲话不要有任何的慌张,走路也是。二:细心(1)对身边发生的事情,常思考它们的因果关系。(2)对做不到位
2012-01-05 15:06:16 302
转载 在 C/C++中如何构造通用的对象链表
在 C/C++中如何构造通用的对象链表日期:2006-12-25 作者:T. W. Burger 来自:IBM DW中国您是否做过这样一个项目,它要求您在内存中保存数目不定的若干不同对象?对于某些情况,二叉树是最佳选择,但在通常情况下,更简单的链表是显而易见的选择。一个简化的问题示例链表的难点在于必须复制链表处理函数来处理不同的对象,即便逻辑是完全相同的。例如:两个
2011-12-01 20:04:34 431
转载 如何参与LINUX内核开发
英文版: http://www.kernel.org/doc/Documentation/HOWTO英文版维护者: Greg Kroah-Hartman 翻译者: 李阳 Li Yang 维护者: 李阳 Li Yang 校译者: 钟宇 TripleX Chung 陈琦 Maggie Chen 王聪 Wang Cong 以下为正文
2011-12-01 20:01:58 977
转载 Linux网络编程经典书籍推荐
首先要说讲述TCP/IP的书很多,其中有3泰书很全。分别是《TCP/IP详解》三卷本,《用TCP/IP进行网际互连》三卷本,《TCP/IP指南》+《IPv6》四卷本其中TCP/IP详解的作者还写了另外2本经典著作,《Unix环境高级编程》,《Unix网络编程》作者W.Richard Stevens个人网站 http://www.kohala.com/大师作品部
2011-11-29 21:18:35 409
转载 新手学堂:嵌入式Linux操作系统学习规划
ARM+LINUX路线,主攻嵌入式Linux操作系统及其上应用软件开发目标: (1)掌握主流嵌入式微处理器的结构与原理(初步定为arm9) (2)必须掌握一个嵌入式操作系统 (初步定为uclinux或linux,版本待定) (3)必须熟悉嵌入式软件开发流程并至少做一个嵌入式软件项目。 从事嵌入式软件开发的好处是: (1)目前国内外这方面的人都很稀缺。这一领域入门门槛较高,所以非
2011-11-14 14:24:12 518
转载 关于void main(int argc,char *argv[],char *env[])
在 C 启动过程中,传递main()函数三个参数:argc,argv和env.* argc: 整数,为传给main()的命令行参数个数。 * argv: 字符串数组。 * env: 安符串数组。env[] 的每一个元素都包含ENVVAR=value形式的字符串。其中ENVVAR为环境变量如PATH或87。value 为ENVVAR的对应值如C:\DOS,C:\TURBOC(对于PATH
2011-11-14 13:30:44 1126
转载 程序的加载和链接机制
链接器:对每一个程序或可重定位的目标文件的部分地址进行绑定并分配相对地址。 加载器:完成最后的重定位步骤并赋予的实际地址(逻辑地址和物理地址的绑定) 由于程序很快就变得比可用的内存大了,因此链接器提供了覆盖技术,它可以让程序员安排程序的不同部分来分享相同的内存,当程序的某一部分被其它部分调用时可以按需加载。 硬件重定位和虚拟内存的出现,每一个程序可以再
2011-11-14 10:06:59 507
转载 汇编语言命令参数程序的编写
一、 引言: 如果大家用过TurboC2.0/3.0 or BorlandC3.X等编译器编写DOS应用程序的话,编写一个命令行参数形式的应用程序对大家来说是一件非常容易的事情,只要在主函main()中加几个参数就OK(int main(int argc,char *argv[],char *env[]){})。相对汇编语言来说编写一个命令行参数的程序就比较艰难,它要用到DOS的程序段前
2011-11-14 09:51:14 797
转载 转福布斯荐75本经商必读
商业兴衰 1. 《1929 年大崩盘》(The Great Crash 1929),加尔布雷思(John Kenneth Galbraith)著,1955 年出版。这是本简明扼要但又富有见地的历史著作,初版以来一直在重印。原因何在?加尔布雷思本人在1997 年写道: “每次它就要停印时,一场投机性泡沫……又会激起人们对这段历史的兴趣,这是现代经济大起大落的重要案例。”(中文版信息:上海
2011-11-12 20:17:21 8817
转载 男人一生中要做的事
作者:未知 请作者速与本人联系揽住母亲的肩头: 每个人都是最棒的,父体的千万个细胞中最强壮的一个才能跑到最前面与来自母体的细胞结合。这时,有二分之一的机会会诞生一个男人。儿子,无疑是父亲所有理想的最好载体,而母亲给儿子的,是最无休止的爱,她最担心的,是自己的儿子不能顶天立地。当女儿家可以搂着母亲的脖子窃窃私语时,请揽住母亲的的肩头,让母亲感觉到你结实有力的臂膀。 敬父亲
2011-11-11 17:25:11 384
转载 明白了这十个故事,你也就参悟了人生
1、断箭 不相信自己的意志,永远也做不成将军。 春秋战国时代,一位父亲和他的儿子出征打仗。父亲已做了将军,儿子还只是马前卒。又一阵号角吹响,战鼓雷鸣了,父亲庄严地托起一个箭囊,其中插着一只箭。父亲郑重对儿子说:“这是家袭宝箭,配带身边,力量无穷,但千万不可抽出来。” 那是一个极其精美的箭囊,厚牛皮打制,镶着幽幽泛光的铜边儿,再看露出的箭尾。一眼便能认定用上等的孔雀羽毛制作
2011-11-11 17:24:11 486
转载 据说看完这21个故事的人,30岁前都成了亿万富翁。你是下一个吗?
1.甲去买烟,烟29元,但他没火柴,跟店员说:“顺便送一盒火柴吧。”店员没给。 乙去买烟,烟29元,他也没火柴,跟店员说:“便宜一毛吧。”最后,他用这一毛买一盒火柴。 这是最简单的心理边际效应。第一种:店主认为自己在一个商品上赚钱了,另外一个没赚钱。赚钱感觉指数为1。第二种:店主认为两个商品都赚钱了,赚钱指数为2。当然心理倾向第二种了。同样,这种心理还表现在买一送一的花招上,顾
2011-11-11 17:20:14 709
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人