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

本文探讨了C++编程中的重要技巧,包括inline函数的正确使用、类的大小计算方式、参数传递的最佳实践、默认参数构造函数的应用以及构造函数与析构函数的调用顺序等内容。

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

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则析构!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值