免费注册 查看新帖 |

Chinaunix

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

[C] 想吧STL移植成一个c语言库,先调查调查 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2007-06-28 10:32 |只看该作者
STL里面最大的难点不是各个数据结构的实现,在于每个数据结构通过迭代器和泛型算法的粘合,对于一个数据结构学的不太差的人而言,单纯实现什么vector,tree并不是什么难事。。。

论坛徽章:
0
12 [报告]
发表于 2007-06-28 10:37 |只看该作者
太期待C下有一个类似于STL的库了,只因为俺不想学C++,使得俺只好自己去实现算法,郁闷ing......
严重支持楼主和版主

论坛徽章:
0
13 [报告]
发表于 2007-06-28 12:37 |只看该作者
原帖由 converse 于 2007-6-28 10:32 发表
STL里面最大的难点不是各个数据结构的实现,在于每个数据结构通过迭代器和泛型算法的粘合,对于一个数据结构学的不太差的人而言,单纯实现什么vector,tree并不是什么难事。。。


vector和tree我是照搬STL的,让我自己实现,我可没这么大本事

论坛徽章:
0
14 [报告]
发表于 2007-06-28 12:38 |只看该作者
原帖由 cugb_cat 于 2007-6-28 10:37 发表
太期待C下有一个类似于STL的库了,只因为俺不想学C++,使得俺只好自己去实现算法,郁闷ing......
严重支持楼主和版主


看来这样一个库还是有需求的

论坛徽章:
0
15 [报告]
发表于 2007-06-28 12:43 |只看该作者
原帖由 福瑞哈哥 于 2007-6-28 10:26 发表


支持flw的看法,需要宏。void *又不能解决比如我要使用一个整数的情况。



void * 可以指向任何数据阿,这就是C的泛型了,只不过是运行时泛型,不是C++的编译期泛型

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
16 [报告]
发表于 2007-06-28 12:45 |只看该作者
原帖由 ivek_troll 于 2007-6-28 12:43 发表

void * 可以指向任何数据阿,这就是C的泛型了,只不过是运行时泛型,不是C++的编译期泛型

运行时就已经晚了。

论坛徽章:
0
17 [报告]
发表于 2007-06-28 19:59 |只看该作者
原帖由 flw 于 2007-6-28 12:45 发表

运行时就已经晚了。


全部用宏的想法我也考虑过,但那样的代码太难开发维护了,做出来也不会有人喜欢用那样的库的,最后还是决定用void* 了

论坛徽章:
0
18 [报告]
发表于 2007-06-28 20:19 |只看该作者
原帖由 converse 于 2007-6-28 10:32 发表
STL里面最大的难点不是各个数据结构的实现,在于每个数据结构通过迭代器和泛型算法的粘合,对于一个数据结构学的不太差的人而言,单纯实现什么vector,tree并不是什么难事。。。


用C实现还是比较容易的,
更大的难点是让使用者记住这个库的种种怪癖,记住哪里要初始化,哪里要释放。
总之呢,用C模拟C++不是不可以,就是太难用,最终让用户不想用。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
19 [报告]
发表于 2007-06-28 20:40 |只看该作者
强烈期待楼主把代码拿出来看看。大家一起努力会更好。

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
20 [报告]
发表于 2007-06-28 21:10 |只看该作者
原帖由 太平绅士 于 2007-6-28 20:19 发表


用C实现还是比较容易的,
更大的难点是让使用者记住这个库的种种怪癖,记住哪里要初始化,哪里要释放。
总之呢,用C模拟C++不是不可以,就是太难用,最终让用户不想用。

在 C 里面还是以 C 的方式做事吧,当然其他语言的好的思想/方法也应该借鉴。所以,为嘛不重头开始实现一个对 C 来说比较友好的数据结构/算法库呢?

[ 本帖最后由 MMMIX 于 2007-6-28 21:12 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP