【一天一篇CPP】inline、类的存储,简单的构造函数、析构函数

来源:互联网 发布:简单的c语言程序例子 编辑:程序博客网 时间:2024/05/20 00:14

1.inline 须知:一般非类成员的函数inline声明即可,在类成员函数中,若为inline声明,成员函数声明和成员函数的定义必须放在同一个文件。

2.类的大小:经过sizeof测试,得知:一般的数据成员【不论const还算mutable还是】都要计算,不论任何类型的函数都不计入内。

3.对于大小比较小的类,尽量用指针或引用作为函数的参数,而不是一个使用形参副本,这样不用复制构造它。但假如函数要计算很久,而类相对比较小,直接建立副本参数,而不使用引用和指针也可以。

4.带默认参数的构造函数

                  eg: Box( int h, int w = 10, int len = 20) :height(h),width(w),length(len) {  }

对于使用默认参数的情况,要避免重定义,最好放在声明处而不是定义处,因为这样使用者方便阅读。

5.析构函数的调用顺序【局部对象】

#include<iostream>using namespace std;class temp{public:temp(int A) :a(A){}int a;~temp(){ cout<< a<<endl;}};int main(){temp a(10);temp b(200);}

输出为:

200

10,也就是说先构造的后析构。


6.系统调用构造函数和析构函数的时机

a.全局对象,若多文件,构造执行的顺序不确定【但是在main之前,或者说开始处】,main退出则析构。

b.局部变量:建立对象是构造,复合体结束时析构【先构造后析构】

c.static局部对象:第一次使用时构造,mian退出时析构。

d.堆对象:new则构造,delete则析构!

原创粉丝点击