Timothy

链接

《More Effective C++》------ ( 3 )
《Exceptional C++》------ ( 1 )

《More Effective C++》------ ( 4 )

Timothy posted @ 2010年6月10日 20:27 in Reading Notes , 1159 阅读

条款21:通过重载避免隐式转换

(1):C++规定,重载operator时,必须有一个用户自定义类型,即内建类型不允许修改默认的操作符意义。

(2):通过多种形似的操作符重载函数,明确声明需要的类型,可以避免隐式类型转换。

 

条款22:考虑运算符的赋值形式( op= ),代替它的单独形式( op )

(1):把 +, - 通过+=, -=来实现, a), 易于维护,只需要维护+= 和 -= 代码 b) +=, -=是效率更高的类型

 

条款23:考虑变更程序库

 

条款24:理解virtual function, multi derived, virtual base 和 RTTI所需要的代价

(1):虚函数的代价: a) 类多出来一个 vurtual table空间消耗,  实现时, vtbl是否在编译的obj中具现,一是在使用类的所有obj中具现 二是在包含该类的第一个非内联非纯虚 虚函数的实现体。   b) 类对象必须携带以个 vurtual table pointer。  c) 虚函数放弃了 inline 功能。 (动态函数和静态替换时冲突的)

(2):多继承和虚基类的代价: 除了携带自己的vtbl外,还得为基类携带一些特殊的vtbl。

(3):RTTI的代价: 在vtbl的 0 位置,存储了类的 type_info的地址。( 一般化实现方法)

 

----------------------------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------

技巧( Techniques, 又称Idioms or Pattern )

 

 

条款25:将构造函数和非成员函数虚拟化

(1):一种虚拟技巧, 用以个非虚拟函数,去调用一个private或者protected的虚拟函数。

 

条款26:限制类产生的对象的个数

(1):对象0个或者1个.....Singleten模式。  隐藏构造函数,采用局部静态变量出现

(2):带有局部静态变量的函数,不要使用Inline,   内部链接的函数,可能引起引起复制(包括了局部静态变量)。

(3):对象所处的三个环境: 普通类对象,作为其他类的基类,被其他类包容。

(4):引用计数思想

 

条款27:要求或者禁止在堆中产生对象

(1):禁止在栈中创建对象: 把析构函数设为 private。但是必须提供成员函数delete。

   class COnlyHeap

{
public:
    COnlyHeap() {}
    void Destroy()
    {
        delete this;
    }

private:
    ~COnlyHeap() {}
}

 (2):禁止在堆中创建对象:隐藏掉 operator new() && operator delete()

Avatar_small
meine aktivitäten lö 说:
2023年7月18日 23:10

Jeder kann die Google Meine Aktivitäten-Seite verwenden, um einen großen Teil oder den gesamten Suchverlauf zu löschen. Durch Löschen oder Löschen Ihres Google Suchverlaufs und Ihrer Aktivitäten werden nur Elemente entfernt , die in die Google -Produkte eingegeben. meine aktivitäten löschen Heutzutage hat jeder mehrere Geräte, die mit Android, Mac OS und anderen Geräten arbeiten. Google erlaubte das Anzeigen und Entfernen/Löschen oder Löschen Ihres Suchverlaufs.

Avatar_small
BSEM 6th Class Text 说:
2023年7月25日 18:05

Manipur Responsibilities of Preparing the Textbook, Syllabus, Study Material and Conducting Middle, Final Examination, Manipur Board 6th Class Textbook 2024 are one of the most Resourceful Tools for the Students. BSEM High School Textbooks Provide the Right and in-Depth information on a Particular topic. Also, these books act as a Framework for Facilitating Students with Effective BSEM 6th Class Textbook 2024 learning, Manipur Class Books 2024 These books aim at Analyzing the Instructional objectives of the Subject.Board 6th Class e-Books 2024 Pdf Format is Upload in Online.


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter