叮当小说网 找小说网 无限小说网 红尘小说网 幻想小说网 酷文学 深夜书屋

04 2005 档案

Item 45. 模板术语(Template Terminology )
摘要:Item 45. Template Terminology -------------------------------------------------------template-name : 标示符template-id : Heap, name ... 阅读全文

posted @ 2005-04-26 20:46 麦哲思科技 阅读(110) 评论(0) 推荐(0)

Item 40. RAII
摘要:Item 40. RAIIwhat's RAII?resource acquisition is initialization需要时才定义 阅读全文

posted @ 2005-04-26 20:42 麦哲思科技 阅读(66) 评论(0) 推荐(0)

今天,我踩到GS了
摘要:今天,我踩到GS了昨天晚上寝室里多了一个新"成员"——一只小狗,是室友带回来的。当看到它的第一眼起,我就在寻思它什么时候离开,尽管它看起来挺可爱。是的,我不喜欢狗,确切的说是我不喜欢寝室里有狗。终于,我担心的事情果然发生了。夜里它安静下来,叫得很凄惨。而我理所当然就被吵醒了若干次。每次都想,再叫... 阅读全文

posted @ 2005-04-25 21:37 麦哲思科技 阅读(82) 评论(0) 推荐(0)

waiting for the day
摘要:终于等到了,有了希望! 阅读全文

posted @ 2005-04-24 21:38 麦哲思科技 阅读(93) 评论(0) 推荐(0)

Item 39. 异常安全之函数(Exception Safe Functions)
摘要:Item 39. Exception Safe Functions编写异常安全代码的难点不在于抛出和捕获异常,而是在于抛出和捕获之间要做的事情。当异常从抛出到达捕获语句的过程中,这期间执行的函数在弹栈前需要清理它所使用的任何资源。通常,这就需要片刻的思考以及一些常识。以String的赋值操作为例:... 阅读全文

posted @ 2005-04-22 15:50 麦哲思科技 阅读(140) 评论(0) 推荐(0)

在等待的日子里
摘要:在等待的日子里度日如年,在等待的日子里心如止水。曾试问过自己:为何不去争取而选择等待?我只能无奈的说:因为我怕她受到伤害,更怕自己再受伤!曾嘲讽过自己:这样等待有用吗?我只能笑笑说:我只求有始有终,即便不是善始善终。在等待的日子里我在静静地等待,因为我知道:会来的终究会来,不会来的强求也没用。在等... 阅读全文

posted @ 2005-04-22 13:06 麦哲思科技 阅读(103) 评论(0) 推荐(0)

Item 38. 异常安全之公理(Exception Safety Axioms)
摘要:Item 38. Exception Safety Axioms公理,公认之理,无需证明。要证明一个欧几里得几何的定理,要借助于一系列的公理。要判断代码是否是异常安全,也有一系列的公理可以借用。----------------------------------------------------... 阅读全文

posted @ 2005-04-22 11:10 麦哲思科技 阅读(120) 评论(0) 推荐(0)

Item 37. 数组分配(Array Allocation)
摘要:Item 37. Array Allocation分配内存时用new,则释放时用delete; 分配时用new[],则释放时用delete[]。T *aT = new T; // non-arrayT *aryT = new T[12]; // arraydelete [] aryT; // ar... 阅读全文

posted @ 2005-04-22 10:30 麦哲思科技 阅读(111) 评论(0) 推荐(0)

有个词叫“磨人”
摘要:有个词叫“磨人”在脑海里记住它,在行动中远离它。 阅读全文

posted @ 2005-04-20 13:49 麦哲思科技 阅读(168) 评论(0) 推荐(0)

say sorry to myself
摘要:无奈的事情太多委屈自己的事情太多我只能安慰一下自己跟自己说声sorry 阅读全文

posted @ 2005-04-19 18:39 麦哲思科技 阅读(84) 评论(0) 推荐(0)

给char*一个名份
摘要:给char*一个名分char* 不停的问自己:我是字符串还是指针?谁能给我一个名份?先看如下程序:char* GetName(int nID){ if(nID > 0) return "Name"; else return NULL; }const char* GetConstName(int... 阅读全文

posted @ 2005-04-19 16:22 麦哲思科技 阅读(130) 评论(0) 推荐(0)

Item 36. Class-Specific Memory Management
摘要:Item 36. Class-Specific Memory Management在类中声明operator new 和 operator delete 成员就可以实现类自己的内存分配与管理。class Handle { public: //... void *operator ne... 阅读全文

posted @ 2005-04-17 16:23 麦哲思科技 阅读(91) 评论(0) 推荐(0)

Item 35. Placement New
摘要:Item 35. Placement New 看起来不可能的事情在C++中总能找到解决的办法。正如,直接调用构造函数是不可能的,然而可以用placement new 欺骗编译器调用构造函数。--------------------------------------------------1、pl... 阅读全文

posted @ 2005-04-17 16:09 麦哲思科技 阅读(90) 评论(0) 推荐(0)

有感本命年
摘要:从没有在意过本命年,更没有在意过鸡年的本命年——我的本命年。前不久跟室友们闲谈时,不知是如何谈论起了这个问题。由于我们几个都是属鸡的,再加上有一个是“算命专家”,所以这个问题就扯了很久。我也趁机了解了很多“知识”——迷信的知识。他说,本命年里会发生很多意外的事情,或喜或悲,要多留意。对于星座、属相... 阅读全文

posted @ 2005-04-16 21:41 麦哲思科技 阅读(137) 评论(0) 推荐(0)

Item 34. Restricting Heap Allocation
摘要:Item 34. Restricting Heap Allocation1、什么情况下要限制堆分配?假如一个句柄对象("handle" object )维护了一个体对象("body" object)的引用数量,就需要确保对象的析构函数调用。局部对象和静态对象能够自动调用其析构函数,而堆分配的对象需... 阅读全文

posted @ 2005-04-16 15:09 麦哲思科技 阅读(86) 评论(0) 推荐(0)

Item 33. 抽象基类模仿秀(Manufacturing Abstract Bases)
摘要:Item 33. Manufacturing Abstract Bases抽象基类描述了一个问题的抽象概念,它不能被实例化。class ABC { public: virtual ~ABC(); virtual void anOperation() = 0; // pure /... 阅读全文

posted @ 2005-04-16 12:13 麦哲思科技 阅读(91) 评论(0) 推荐(0)

Item 31. Covariant Return Types & Item 32. Preventing Copying
摘要:Item 31. Covariant Return TypesCovariant:随变,随动。(你变我就变)通常,一个overriding函数必须与所重写的函数具有相同的返回类型。然而,并非事事如此,Covariant Return Types便是无需如此。如下的继承体系:class Shape ... 阅读全文

posted @ 2005-04-15 17:32 麦哲思科技 阅读(98) 评论(0) 推荐(0)

Item 29. Virtual Constructors and Prototype&Item 30. Factory Method
摘要:Item 29. Virtual Constructors and PrototypeVirtual Constructors?C++没有Virtual Constructors这个概念。但有的情况下又需要这个功能,即在多态的时候能够创建出一个跟指针的动态类型相同的一个对象。既然是多态就要考虑虚函... 阅读全文

posted @ 2005-04-15 17:26 麦哲思科技 阅读(90) 评论(0) 推荐(0)

Item 28.话说指针比较(Meaning of Pointer Comparison)
摘要:Item 28. Meaning of Pointer Comparison一个对象可能有多个有效的地址(本身的指针和指向基类的指针),假若有多个指针指向它,这些指针的指向就可能不同。那么在对这些指针做比较时,是对指针指向对象的地址作比较?还是对指针指向对象的标识作比较呢?例如:class Sha... 阅读全文

posted @ 2005-04-15 12:07 麦哲思科技 阅读(141) 评论(0) 推荐(0)

Item 27. 能力质询(Capability Queries)
摘要:Item 27. Capability Queriesclass Shape { public: virtual ~Shape(); virtual void draw() const = 0; //...};class Rollable { public: virt... 阅读全文

posted @ 2005-04-15 10:48 麦哲思科技 阅读(121) 评论(0) 推荐(0)

Item 26. Operator Function Lookup
摘要:Item 26. Operator Function Lookup 有时候Operator Function看起来像是成员操作符函数overload一个非成员操作符,但事实并非如此。这不是overloading,只是一种不同的查找算法。class X { public: X operato... 阅读全文

posted @ 2005-04-15 10:17 麦哲思科技 阅读(82) 评论(0) 推荐(0)

Item 25. Argument Dependent Lookup
摘要:Item 25. Argument Dependent Lookupnamespaces对于C++程序和设计有很深的影响。它的Argument Dependent Lookup(ADL)特性非常重要,尽管潜在的增加了程序的复杂性,但它所解决的问题远比它引入的要多。ADL的思想很简单:当在函数调用表... 阅读全文

posted @ 2005-04-14 21:37 麦哲思科技 阅读(93) 评论(0) 推荐(0)

Item 24. 成员函数的查找(Member Function Lookup )
摘要:Item 24. Member Function Lookup 当调用一个成员函数时,涉及到三个步骤:1)编译器寻找函数名2)从有效的候选函数中选出最匹配的3)核对选出的函数与要访问的函数从这个角度理解如下代码:class B { public: //... void f( doub... 阅读全文

posted @ 2005-04-14 19:08 麦哲思科技 阅读(116) 评论(0) 推荐(0)

Item 23. Namespaces
摘要:Item 23. Namespaces解决重命名的一种方法用吧, very simple 阅读全文

posted @ 2005-04-14 19:06 麦哲思科技 阅读(91) 评论(0) 推荐(0)

Item 22. 模板方法与曲线救国(Template Method)
摘要:Item 22. Template Method敬告Template Method 与 C++中的templates毫不相干,它只是一种设计方法(亦或设计模式)。------------------------1、Template Method设计的目的Template Method是用于基类设计... 阅读全文

posted @ 2005-04-14 11:41 麦哲思科技 阅读(158) 评论(0) 推荐(0)

21.重载与重写(Overloading and Overriding Are Different)
摘要:Item 21. Overloading and Overriding Are DifferentOverloading : 重载Overriding :重写1、Overloading 与 Overriding 是两个不同的概念Overloading 是指在同一个作用域中有两个或多个函数拥有相... 阅读全文

posted @ 2005-04-14 10:20 麦哲思科技 阅读(129) 评论(0) 推荐(0)

18函数对象&19command模式20函数对象在STL中的应用
摘要:Item 18. Function ObjectsItem 19. Commands and HollywoodItem 20. STL Function Objects1、unction Objects是什么函数对象听起来挺吓人,其实并不神秘,它也是一个类的对象,只不过该类重载了操作符(),使得... 阅读全文

posted @ 2005-04-14 10:10 麦哲思科技 阅读(70) 评论(0) 推荐(0)

Item 17. 函数与数组声明上的比较
摘要:Item 17. Dealing with Function and Array Declarators函数与数组的声明能够放在一起来比较,是因为它们有相同的遭遇,同是天涯沦落人。-----------------------------------------------------------... 阅读全文

posted @ 2005-04-13 20:49 麦哲思科技 阅读(86) 评论(0) 推荐(0)

Item 16. 指向成员函数的指针
摘要:Item 16. Pointers to Member Functions Are Not Pointers Pointers to Member Functions :指向成员函数的指针 在此,成员函数指的是非静态的成员函数。 Pointers to state Member Functio... 阅读全文

posted @ 2005-04-13 14:51 麦哲思科技 阅读(121) 评论(0) 推荐(0)

Item 15.指向类数据成员的指针
摘要:Item 15. Pointers to Class Members Are Not PointersPointers to Class Members:指向类成员的指针注:本条中只涉及到非静态的数据成员-----------------------------------------------... 阅读全文

posted @ 2005-04-13 11:20 麦哲思科技 阅读(91) 评论(0) 推荐(0)

Item 14. 函数指针(Function Pointers)
摘要:Item 14. Function Pointers函数指针的声明: void (*fp)(int); //括号不能省略,去掉则为返回类型为void*使用: 1、当初始化或赋值函数指针A的地址给函数指针B,无需显式的取函数的地址,编译器会为你做: extern void h( int ); ... 阅读全文

posted @ 2005-04-12 10:10 麦哲思科技 阅读(97) 评论(0) 推荐(0)

Item 13. 拷贝操作(Copy Operations )
摘要:Item 13. Copy Operations 拷贝构造函数和拷贝赋值符是不同的操作,但在类中,他们应该成对声明。 阅读全文

posted @ 2005-04-12 09:49 麦哲思科技 阅读(104) 评论(0) 推荐(0)

Item 12. 赋值和初始化(Assignment and Initialization Are Different)
摘要:Item 12. Assignment and Initialization Are Different是的,赋值(Assignment)与初始化(Initialization)不同,这归因于他们调用不同的函数 赋值: operator = 操作符 初始化: 拷贝构造函数-----------... 阅读全文

posted @ 2005-04-11 20:14 麦哲思科技 阅读(147) 评论(0) 推荐(0)

Item 11. 编译器对类的影响(The Compiler Puts Stuff in Classes )
摘要:Item 11. The Compiler Puts Stuff in Classes 不同的编译器对于class的实现不一定相同,比如虚函数表指针的位置,有的放在类头部,有的则放在类尾部。 阅读全文

posted @ 2005-04-11 19:13 麦哲思科技 阅读(112) 评论(0) 推荐(0)

Item 10.const成员函数 (Meaning of a Const Member Function)
摘要:Item 10. Meaning of a Const Member Function1、何谓const成员函数: 成员函数名字后面有个const2、const成员函数与non-const成员函数的区别: 区别在于成员函数中的那个看不见的this指针的类型: non-const成员函数里this... 阅读全文

posted @ 2005-04-11 19:10 麦哲思科技 阅读(114) 评论(0) 推荐(0)

Item09. 强制转换(New Cast Operators)
摘要:Item09. New Cast Operatorsconst_cast :去const修饰符,把const变量变为非const的static_cast : 不同类型(type)的变量之间的强制转换dynamic_cast :在继承层次中,向下类型转换reinterpret_cast:随意转换。-... 阅读全文

posted @ 2005-04-10 19:51 麦哲思科技 阅读(87) 评论(0) 推荐(0)

Item08. 多级指针(Pointers to Pointers)
摘要:Item08. Pointers to Pointers指向指针的指针(多级指针)与指针有相同的地方也有不同的地方--------------------------------------------1、改变指针的地址指向void scanTo( const char **p, char c )... 阅读全文

posted @ 2005-04-10 19:49 麦哲思科技 阅读(111) 评论(0) 推荐(0)

Item07. 常量与指针的联姻(Const Pointers and Pointers to Const)
摘要:Item07. Const Pointers and Pointers to Const由于常量与指针联姻的方式不同形成了多种貌合神离的结晶:常量指针、指向常量的指针、指向常量的常量指针--------------------------------------------------------... 阅读全文

posted @ 2005-04-09 11:27 麦哲思科技 阅读(109) 评论(0) 推荐(0)

Item06.数组形参 Array Formal Arguments
摘要:Item06. Array Formal Arguments谨慎使用------------------------------------------退化(decay):数组自动地转化为指向其首元素的指针---------------------------------------------1... 阅读全文

posted @ 2005-04-08 17:20 麦哲思科技 阅读(99) 评论(0) 推荐(0)

Item 05. 引用(References Are Aliases, Not Pointers)
摘要:Item 05. References Are Aliases, Not Pointers 1、引用与指针的三大区别: 没有空引用, 引用声明时即需初始化(生则带来,死则带去), 引用总是引用初始化它的对象(一生一个)2、用引用来传递参数是个不错的主意3、非常量引用不能作为字面常量和临时变量的... 阅读全文

posted @ 2005-04-08 17:18 麦哲思科技 阅读(94) 评论(0) 推荐(0)

Item03. 设计模式 & Item04. STL
摘要:Item03. Design Patterns设计模式:有用!《设计模式》GoF《泛型程序设计》---------------------------Item04. The Standard Template Library STL:深入学习,广泛使用《C++标准程序库》 阅读全文

posted @ 2005-04-08 17:15 麦哲思科技 阅读(119) 评论(0) 推荐(0)

Item02.多态 Polymorphism
摘要:Item02. Polymorphism --------------------------polymorphic type: 拥有虚函数的类type(class type)polymorphic object:拥有多个type的对象polymorphic base class:供polymo... 阅读全文

posted @ 2005-04-08 17:12 麦哲思科技 阅读(90) 评论(0) 推荐(0)

M总语录之导一下
摘要:……“M老师,我们这个动态感知功能有问题,按着鼠标,系统就down了。”看到M总来到我旁边,我赶快汇报刚发现的bug。“...在鼠标移动的时候,判断一下是否按下鼠标的任一个键,如果没按下我们就启用动态感知功能。”M总想了一下吩咐道。这还不简单,心想。于是刷刷的写下了如下代码://……if( (.... 阅读全文

posted @ 2005-04-08 17:01 麦哲思科技 阅读(246) 评论(0) 推荐(0)

Item01: 数据提取(Data Abstraction)
摘要:Item01: Data Abstraction--------------------------------------------type是一系列的操作abstract data type 是一系列的拥有实现的操作---------------------------------------... 阅读全文

posted @ 2005-04-08 09:31 麦哲思科技 阅读(101) 评论(0) 推荐(0)

导航