C/C++使用Lu脚本字符串键树(三)

2014-11-24 07:33:53 · 作者: · 浏览: 2

没有找到第 1 个数据!
没有找到第 2 个数据!
没有找到第 3 个数据!
104
没有找到第 5 个数据!
106
没有找到第 7 个数据!
108
没有找到第 9 个数据!

--- 运行垃圾收集器后数据!---

没有找到第 0 个数据!
没有找到第 1 个数据!
没有找到第 2 个数据!
没有找到第 3 个数据!
104
没有找到第 5 个数据!
106
没有找到第 7 个数据!
108
没有找到第 9 个数据!

--- 解锁键并全部销毁数据!---

没有找到第 0 个数据!
没有找到第 1 个数据!
没有找到第 2 个数据!
没有找到第 3 个数据!
没有找到第 4 个数据!
没有找到第 5 个数据!
没有找到第 6 个数据!
没有找到第 7 个数据!
没有找到第 8 个数据!
没有找到第 9 个数据!

4 函数说明

本例用到了Lu的7个输出函数:初始化Lu的函数InitLu,释放Lu的函数FreeLu,插入键值的函数InsertKey,查找键值函数SearchKey,删除键值的函数DeleteKey,加锁键函数LockKey,垃圾收集器函数GC。从这里查看这些函数的说明:Lu编程指南。

5 难点分析

代码1演示了公有键的用法。(1)如果公有键没有加锁,可以存储若干种数据类型,如果进行了加锁,只能存储一种数据类型;(2)可以删除一个不存在的键而没有副作用;(3)删除键值时不需要提供删除函数,故谁都可以销毁公有键;(4)没有对InsertKey、SearchKey、DeleteKey、LockKey的返回值做全面检查,但不影响演示效果。

代码2演示了指针型私有键的用法。(1)程序先对私有键key_lock进行加锁,然后注册了10个对象,一半注册为指针键,一半注册为非指针键;(2)Lu脚本的垃圾收集器运行时,会回收指针键,但对非指针键没有影响;(3)键解锁时会自动销毁该类键型的所有数据。

代码3演示了非指针型私有键的用法。(1)程序试图注册指针键,但失败了;(2)Lu脚本的垃圾收集器运行时,对非指针键没有影响。

代码中在加锁一个键时,用到了运算符重载函数,在此先略过,以后会专门讨论该函数。

6 其他

你可能注意到了,我的联系方式就在下面,如有不明之处或有什么建议,可随时与我进行联系。


版权所有 Lu程序设计 2002-2013,保留所有权利
E-mail: forcal@sina.com QQ:630715621
最近更新: 2014年01月02日