如何减少重复编译(对于大项目而言)

本文介绍了句柄类技术,通过将复杂的数据结构隐藏在句柄类之后,仅暴露指针来简化外部接口。这种方式便于修改内部结构而不影响使用者。文章通过一个具体的C++示例详细解释了句柄类的实现过程。

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

解决这个技术的叫做句柄类(handle class),有关实现的东西都消失,只留下一个单一的指针。例如在一个类中声明一个结构chest,然后定义一个结构指针作为该类成员变量。该结构的实现在文件中,当修改该结构的成员时,就只需要重新编译文件,然后连接到项目中。

H:

#ifndef _HANDLE_CLASS_
#define _HANDLE_CLASS_

class handle
{
public:
	struct chest;
	chest* pch;

	void intialHandle();
	void clearnUp();
	void change(int input);
	int read();
};
#endif

CPP:

struct handle::chest{int i;};
void handle::intialHandle(){
	pch = (chest*)malloc(sizeof(chest));
	assert(pch);
	pch->i = 0;
}
void handle::clearnUp(){free(pch);}
void handle::change(int input){pch->i = input;}
int handle::read(){return pch->i;}

没时间做更深入的分析,以后有时间再举几个例子剖析剖析下...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值