深度探索c++模型读后记录

1。

c++类中的函数,static成员是放在类外的,也就是说在类外可以直接使用,类对象的内存占有仅仅是数据成员和指向虚函数列表的唯一的vptr。

2。

其实读到现在觉得对自己真正有太多意义的部分还真是不多,虽然只读完了第二章。

3.

读了一下第四章 function语意学:

static member function 与 member function

class Point3d

{

    static int func1();

    int func2();

}

&Point3d::func1()会得到一个数值,类型是: int (*)(),而不是像member function那样得到的是int (Point3d::*)().

4.

Point3d pointObj;

pointObj.func2().调用时实际上是Point3d::fun2(pointObj)参数为pointObj。

所以理解const Point3d pObj时,调用函数只能调用形式为 int func() const 这种类型的,

因为这种形式的参数编译为int func(const Point3d&)形式。

5.

很多时候编译器会默认帮你做一些事情,如果心里明白编译器在做什么,那么明显的帮编译器写出code,会加快编译器速度稍微快点。

6.

 

{

 Point  point;

 //constructor在这里行动

 Switch((int)(point.x())

 {

  Case  -1:

                 //destructor在这里行动

                   Return -1;

  Case  0

                   //destructor在这里行动

……

}

}

所以在使用类进行对象定义时,应该注意放在函数的位置,尽量做到在使用前才进行定义。

 

 

7.

注意多封装c标准语言中的函数,而少使用c最原始的函数。

 

8.

注意写线程安全函数,对于c标准中不符合线程安全的函数,应采用加锁方式解决,strtok只能重写来解决 。

 

 

 

 

你可能感兴趣的:(C++,c,function,语言,编译器,fun)