没有找到第 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日