1.33 MB, 下载次数: 3262
原帖由 converse 于 2009-4-10 09:03 发表
问个问题:
代码test_algo.c中
vector_t t_v = create_vector(int);
iterator_t t_i;
vector_init(&t_v);
vector_push_back(&t_v, 2);
vector_push_back(&t_v, 5);
...
原帖由 vbs100 于 2009-4-10 20:34 发表
想到一种方法解决 比如
list_t t_l = create_list(abc_t *);
直接把指针放到你的 cstl 里 这样不就解决了 ?删除的时候你再返回这个指针
这样用户数据的内存管理由用户负责 数据结构的内存管理由你来负 ...
此为还有当复制容器时
保存值的容器可以很容易就复制了,
但是保存指针的容器复制后两个容器中的指针都是指向一块内存了,当销毁一个容器后另一个容器就无效了。
原帖由 tm_wb 于 2009-4-13 19:22 发表
谢谢大家关注CSTL 1.0.0
CSTL还有很多不足:
1.不能使用数组初始化容器。
2.不能使用任意数据区间初始化容器。
3.对内部含有指针的类型支持的不好。
4.使用自定义类型时要求用户编写额外的二元函数来支持自 ...
原帖由 converse 于 2009-4-10 09:29 发表
不是支持的不好,是C语言本身的特点做不到真正的"范型",所以,任何人想用C去做"范型"几乎都是impossiable mission
原帖由 tm_wb 于 2009-4-9 21:25 发表
cstl是使用C语言编写的一个通用的数据结构和常用的算法库,它模忙SGI STL的接口和实现,支持vector,list,deque等等常用的数据结构,同时还支持排序,查找,划分等常用的算法,此外cstl也包含迭代器的类型,它作 ...
原帖由 finalfantasy000 于 2009-4-20 09:32 发表
如果我叫楼主不要浪费时间在实现C上面的STL,那么就要有很多人要骂我了,但是我还是不得不说。。。。
不要发明重复的轮子了。。。。。
yulihua49 发表于 2013-12-26 15:24
map_iterator_t map_find(
const map_t* cpt_map, key_element);
返回值为key_element的数据的位置。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/) | Powered by Discuz! X3.2 |