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

本文探讨了C++中静态成员函数与普通成员函数的区别,解析了它们的调用方式及参数传递特点,并提供了使用建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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只能重写来解决 。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值