免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: tm_wb
打印 上一主题 下一主题

[C] libcstl-2.0.0正式发布。 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2010-06-19 16:48 |只看该作者
回复 1# tm_wb


    LZ,看了一下你的vector_t容器的代码,,问个问题

  一个vector_t容器能否同时存不同类型的数据 , 如果可以,那取是如何做的。。。还有是否能存任何的数据类型,如struct,,,请教..

论坛徽章:
0
22 [报告]
发表于 2010-06-19 20:14 |只看该作者
回复  tm_wb


    LZ,看了一下你的vector_t容器的代码,,问个问题

  一个vector_t容器能否同时存不 ...
wmmy2008 发表于 2010-06-19 16:48



    我使用例子回答你的问题吧
例如:
vector_t* pvec_a = create_vector(int);

对于pvec_a只能够保存int类型的数据,不能保存其他类型的数据了,如果你需要在pvec_a中再保存非int类型的数据,这是做不到的。

libcstl 2.0中容器可以保存任何类型的数据,如:
/* 保存C语言内部类型 */
vector_t* pvec_int = create_vector(int);
vector_t* pvec_double = create_vector(double);
/* 保存libcstl 提供的类型 */
vector_t* pvec_set = create_vector(set_t<int>);
vector_t* pvec_hmap = create_vector(hash_map_t<int, list_t<double>>);
/* 保存自定义类型的数据 */
struct _tagabc
{
    ...
}abc_t;
vector_t* pvec_abc = create_vector(struct _tagabc);
或者
vector_t* pvec_abc = create_vector(abc_t);

但是对于自定义类型必须使用type_register来注册该类型,才能够创建成功,否则create_vector将失败。
要想让libcstl将struct _tagabc和abc_t识别为同一个类型还要调用type_dupliacte。

这样libcstl 2.0容器可以保存任何类型的数据。

主要就是libcstl 2.0中增加了类型机制来保存类型信息。具体的使用方法请参考libcstl的用户指南。

论坛徽章:
0
23 [报告]
发表于 2010-06-19 21:20 |只看该作者
果断下载收藏
拜一下LZ

论坛徽章:
0
24 [报告]
发表于 2010-06-19 22:34 |只看该作者
顶啊。不错不错。

论坛徽章:
0
25 [报告]
发表于 2010-06-20 00:16 |只看该作者
不错 看看

论坛徽章:
0
26 [报告]
发表于 2010-06-21 08:16 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
27 [报告]
发表于 2010-06-21 08:47 |只看该作者
回复 22# tm_wb


    lz,佩服佩服,请问有没有memory pool?

论坛徽章:
0
28 [报告]
发表于 2010-06-21 08:53 |只看该作者
膜拜学习

论坛徽章:
0
29 [报告]
发表于 2010-06-21 08:58 |只看该作者
回复 1# tm_wb


    请问lz,这个库和stl相比较,区别是什么?优势是什么?

论坛徽章:
0
30 [报告]
发表于 2010-06-21 09:07 |只看该作者
lz写的接口,看起确实很舒服,希望lz有关于memory pool的封装。。。。。。。{:3_200:}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP