[juliantec_list] 关于一个库中实现的数据结构,如何能支持存储不同类型负载数据的问题??????

 支持方法请看 include 目录下的系列头文件.

 seqtable.h 是顺序表库实现的主头文件,
type_seqtbl.h  文件的存在能够让 seqtable
的使用者很方便的嵌入任何一种数据类型。

 目前的代码里面, seqtable 的库中嵌入了
int 和 struct book 两种数据类型。


 所以,注意了:
按照目前的设计,假如我要在 seqtable 中存储
一种全新的负载数据类型,比方说要存储一个
struct student 学生结构体,那我的做法就是
下面的这些步骤:

a,新建立一个头文件 sstudent_seqtbl.h
在里面声明好 struct  student 的结构体类型;
定义好 ETYPE_SSTU 的宏;定义好两个函数,即
比较函数,和拷贝函数。

b,修改文件 type_seqtbl.h 头文件,添加新的
一块代码如下:

#include "sstudent_seqtbl.h"
#ifdef ETYPE_SSTU
#undef elemtype
#define elemtype ETYPE_SSTU
#endif

并保证 这个头文件中的其他部分是被注释掉的。


c,seqtable 库的作者,需要在 seqtable 子目录
中增加一个 sstudent_seqtbl.c  的实现文件,
里面实现出来两个函数,即该种元素负载数据类型
下面的比较函数和拷贝函数。另外也别忘记实现函
数 type_sqtb_init() ,在其中完成函数指针的
初始化,这个函数会被 seqtable 中的核心代码所
调用。












Learning, Just As Your Favourite Thing!

Maillist, See http://www.juliantec.info/mlist/mail-lists.html
JulBlog, See http://www.juliantec.info/julblog/summary.php
JulWiki, See http://www.juliantec.info/wiki/
JulJob, see http://www.juliantec.info/juljob/



Other related posts: